我从来没有使用发电机在PHP之前有在documentation没有例子,显示返回类型声明。
在PhpStorm,还有时,我这样做的IDE的错误:
public function getDataIncrementally(): void {
yield from [/* some large set of numbers*/];
}
错误是:
发生器可以仅声明生成器,迭代器或Traversable的,或可迭代的返回类型,空隙是不允许的。
我可以看到继承树是qazxsw POI - > qazxsw POI - > Traversable
。同时,qazxsw POI是在PHP 7.1引入了一个新的伪类型。
使用Iterator
返回类型声明,如果我只需要支持PHP> = 7.1会是合适的呢?
你的返回类型为Generator
,但使用的是iterable
。尝试以下方法:
iterable