纠正一下一篇关于 PHP 中 yield 关键字文章的一个错误

2019-05-05 12:21:42 +08:00
 via

https://learnku.com/laravel/t/8704/using-yield-to-do-memory-optimization-in-php

倒数第二个例子里生成器函数不能 return 除了 null 以外的值。

ps: 在 laravel-china 没有帐号。

2796 次点击
所在节点    PHP
4 条回复
haiyang416
2019-05-05 12:30:25 +08:00
大致扫了一下,这篇文章作者在理解生成器的概念上貌似有些偏差,比如拿 `yield` 和 `return` 作对比,又比如“生成器 类实现了 迭代器 接口, 这意味着你必须遍历 getValue() 方法来取值”。
不建议用作参考。
funnuy
2019-05-05 13:02:09 +08:00
在 PHP 7 可以了: https://3v4l.org/052Fs
via
2019-05-05 17:25:31 +08:00
@funnuy 最终发现是 php.net 翻译不及时的问题,https://www.php.net/manual/en/language.generators.syntax.php 这个页面已经说了 PHP7 可以,但是 https://www.php.net/manual/zh/language.generators.syntax.php 中文页面没有。
JaguarJack
2019-05-05 19:17:25 +08:00
关于这个 yield 推荐看鸟哥的博客

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/561070

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX