PHP发电机返回类型

问题描述 投票:0回答:1

我从来没有使用发电机在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会是合适的呢?

php iterator generator iterable php-generators
1个回答
0
投票

你的返回类型为Generator,但使用的是iterable。尝试以下方法:

iterable
© www.soinside.com 2019 - 2024. All rights reserved.