PHP5中的生成器不允许有返回值,否则会报错
PHP Fatal error: Generators cannot return values using "return" in /vagrant/queue.php on line 64
然而在最新版本的PHP7中已经增加了返回值这一特性,可以使用getRetrun()
进行获取.
public function makeRangeByGenerator($range)
{
for ($i = 0; $i < $range; $i++) {
yield $i;
}
return 'Generate Finishied'; //php7可以定义返回值
}
$result = makeRangeByGenerator(1000);
// 输出返回值
$result->getReturn(); // Generate Finishied
参考资料
https://segmentfault.com/a/1190000004307491