Estaba leyendo el manual hoy y noté el various iterators. Para mí, parece que todos son algo sin sentido; No veo una razón para usarlos a menos que prefiera su sintaxis, o no sepa cómo escribir una función recursiva. ¿Hay alguna razón para usar iteradores incorporados en PHP sobre simplemente escribir un bucle o hacer un método recursivo?PHP - Razones para usar Iterators?
Solo estoy buscando respuestas objetivas, no preferencias subjetivas (es decir: no me importa si piensas que es más "legible" u "más orientado a objetos", quiero saber si son más rápidos, ofrece una funcionalidad que no se puede lograr cuando lances la tuya, etc.).
"más orientado a objetos" no es una opinión subjetiva; se adentra en el conjunto de características de su problema. Si se ocupa de objetos, no es subjetivo querer trabajar con ellos de una manera orientada a objetos. – AlexanderJohannesen
Creo que "más orientado a objetos" es una opinión subjetiva en este caso porque la implementación lograda por los iteradores no está más orientada a objetos de lo que podría ser una implementación personalizada; no están más orientados a objetos que una solución alternativa orientada a objetos. – mrjminer
Es un comentario extraño, dado que algunos iteradores operan en objetos específicos que los métodos tradicionales no funcionarán en absoluto (que es un punto muy importante). No puede tratar objetos como una matriz a menos que los convierta a una matriz, y con frecuencia eso simplemente no es posible; cualquier estructura que no sea de árbol te dará dolores de cabeza masivos. Si está iterando a través de un gráfico que depende de la semántica de algunas relaciones, esto es imposible sin iteradores, pero a menudo bastante trivial. Asi que. No, no es realmente subjetivo, a menos que seas Voltaire y profundices en el existencialismo. :) – AlexanderJohannesen