lunes, 9 de septiembre de 2013

Aprende sobre los generadores de PHP 5.5



Los generadores son una de las novedades más importantes y útiles introducidas por PHP 5.5. Sin embargo, los generadores también son uno de los conceptos más difíciles de entender cuando no estás acostumbrado a trabajar con ellos.

Los generadores simplifican drásticamente la creación de iteradores. Así que antes de explicar los generadores, es importante repasar qué son y para qué sirven los iteradores.

Si utilizas por ejemplo la función range() junto con foreach() en tu código, en la práctica estás iterando sobre una lista de valores:

foreach (range(0, 10) as $numero) {
    echo "Número: $numero \n";
}

Si no existiera la función range() deberías crear un iterador a medida capaz de recorrer una serie de números. Para crear un iterador, crea una nueva clase que extienda de la clase Iterator de PHP. Esta clase Iterator define los siguientes cinco métodos abstractos que debes implementar en tu clase:

class Iterator extends Traversable {
    // devuelve el valor del elemento actual dentro de la iteración
    abstract public mixed current();
    // devuelve la clave del elemento actual dentro de la iteración
    abstract public scalar key();
    // mueve la iteración hasta el siguiente elemento
    abstract public void next();
    // mueve la iteración hasta el anterior elemento
    abstract public void rewind();
    // comprueba si la posición actual de la iteración es válida
    // (es decir, si el objeto iterador sigue teniendo elementos)
    abstract public boolean valid();
}

Sigue aprendiendo a través del siguiente enlace

No hay comentarios:

Publicar un comentario

Entradas populares