Я никогда раньше не использовал генераторы в PHP, и в документации нет примеров, показывающих объявление возвращаемого типа.
В PhpStorm в IDE возникает ошибка, когдаЯ делаю это:
public function getDataIncrementally(): void {
yield from [/* some large set of numbers*/];
}
Ошибка:
Генераторы могут объявлять только возвращаемый тип Generator, Iterator или Traversable, или итерируемый, void недопустим.
Я вижу дерево наследования Traversable
-> Iterator
-> Generator
.Между тем, iterable
- это новый псевдотип, введенный в PHP 7.1.
Было бы целесообразно использовать iterable
для объявления возвращаемого типа, если мне нужно только поддерживать PHP>= 7.1?