итератор — тип возврата генератора PHP

Я никогда раньше не использовал генераторы в 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?

0

Решение

Ваш тип возврата Generator, но вы используете void, Попробуй это

public function getDataIncrementally(): Generator {
yield from [/* some large set of numbers*/];
}
0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]