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:
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