Спасибо, а у тебя не будет примера,когда он в этом помогает.
Например, с итератором - все понятно, он помогает сократить объем памяти. Но генератор тогда зачем
он просто описывает одну итерацию и запоминает свое состояние между вызовами итератора
function gen() {
for {
// достали кусок данных
...
// как-то обработали этот кусок данных
...
// передали кусок данных тому кто вызвал итератор
yield $кусок-данных
}
}
// где-то в коде
foreach(gen() as $обработанный-кусок-данных)
Очевидно что полезно это может быть только с источниками данных курсорного типа, и используется просто для передачи отдельных элементов этих курсоров наружу