via
V2EX  ›  PHP

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

  •  
  •   via · May 5, 2019 · 3460 views
    This topic created in 2594 days ago, the information mentioned may be changed or developed.

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

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

    ps: 在 laravel-china 没有帐号。

    4 replies    2019-05-05 19:17:25 +08:00
    haiyang416
        1
    haiyang416  
       May 5, 2019
    大致扫了一下,这篇文章作者在理解生成器的概念上貌似有些偏差,比如拿 `yield` 和 `return` 作对比,又比如“生成器 类实现了 迭代器 接口, 这意味着你必须遍历 getValue() 方法来取值”。
    不建议用作参考。
    funnuy
        2
    funnuy  
       May 5, 2019
    在 PHP 7 可以了: https://3v4l.org/052Fs
    via
        3
    via  
    OP
       May 5, 2019
    @funnuy 最终发现是 php.net 翻译不及时的问题,https://www.php.net/manual/en/language.generators.syntax.php 这个页面已经说了 PHP7 可以,但是 https://www.php.net/manual/zh/language.generators.syntax.php 中文页面没有。
    akagishigeru
        4
    akagishigeru  
       May 5, 2019 via iPhone
    关于这个 yield 推荐看鸟哥的博客
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   3047 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 33ms · UTC 00:25 · PVG 08:25 · LAX 17:25 · JFK 20:25
    ♥ Do have faith in what you're doing.