sábado, 14 de julho de 2012

SPL PHP

Se você nem imagina o que significa SPL no PHP é provavel que você veio aqui por culpa da certificação da ZEND (pois SPL esta no edital da prova), e eu já vou adiantando que você se deu muito bem pois a ideia é justamente esclarecer o SPL para vc aprender e ir bem na certificação!

SPL significa Standard PHP Library  que é uma coleção de interfaces e classes que servem para resolver problemas padrões da orientação a objetos no PHP.
Em resumo SPL fornece um conjunto padrão de interfaces para PHP5. O objetivo do SPL é implementar algumas interfaces de dados eficientes de acesso e classes para PHP. Funcionalmente ele é projetado para percorrer estruturas agregadas (qualquer coisa que você quer varrer). Estes podem incluir matrizes, conjuntos de resultados de banco de dados, árvores xml, listas de diretório ou de qualquer lista em tudo. Atualmente SPL lida com iteradores.


Agora você pensa: Legal, mais onde isso exatamente me ajuda? Eu sei que ver o Homer aqui comemorando é muito legal mas eu quero uma finalidade para a SPL... 

E ai eu te digo, vou repetir mais com outras palavras a explicação.... o SPL são interfaces e classes nativas do PHP que tem o intuito de resolver problemas que ocorrem com frequencia no desenvolvimento, como por exemplo uma interação de arrays e etc...

Agora melhorou né? Mais como funciona?... A SPL é dividida em categorias de acordo com a funcionalidade.

Eu não vou ficar escrevendo TUDO aqui pois seria replicar o que existe na documentação do PHP, mais vou dar um copy paste de uma classe que é a ArrayIterator, veja como é util.


A classe ArrayIterator

Introdução

Este iterator permite remover e modificar valores e chaves quando iterando arrays e objetos.
Quando você quiser iterar o mesmo array múltiplas vezes você precisa instanciar ArrayObject e criar instâncias de ArrayIterator que é consultado usando foreach ou chamando o método getIterator() manualmente.

Sinopse da classe

ArrayIterator implements Iterator Traversable ArrayAccess SeekableIterator Countable {
/* Métodos */
public void append ( mixed $value )
public void asort ( void )
public __construct ([ mixed $array = array() [, int $flags = 0 ]] )
public int count ( void )
mixed current ( void )
public array getArrayCopy ( void )
public void getFlags ( void )
mixed key ( void )
public void ksort ( void )
public void natcasesort ( void )
public void natsort ( void )
void next ( void )
public void offsetExists ( string $index )
public mixed offsetGet ( string $index )
public void offsetSet ( string $index , string $newval )
public void offsetUnset ( string $index )
void rewind ( void )
void seek ( int $position )
public string serialize ( void )
public void setFlags ( string $flags )
public void uasort ( string $cmp_function )
public void uksort ( string $cmp_function )
public string unserialize ( string $serialized )
bool valid ( void )
}

Seus métodos e funcionalidade


Informações completas sobre a a classe?
o PHP tem uma das melhores documentações do mundo, então é só acessar. 
http://www.php.net/manual/pt_BR/book.spl.php

Valeu!

Um comentário: