php.net/manual/ru/language.generators.syntax.php
yield - возврат из функции с сохранением текущего итерационного состояния этой функции.
При запросе следующего значения в цикле итерационном цикле - снова вызов этой функции с использованием сохранённого состояния, т.е. продолжение обработки данных с места возврата внутри этой функции.
Можно провести некую аналогию с "курсором" и местом обработки данных в позиции курсора.