V2EX = way to explore
V2EX 是一个关于分享和探索的地方
Sign Up Now
For Existing Member  Sign In
mactalk
V2EX  ›  PHP

PHP7 接受了 Return Type Declarations

  •  
  •   mactalk · Jan 28, 2015 · 5213 views
    This topic created in 4119 days ago, the information mentioned may be changed or developed.
    https://wiki.php.net/rfc/return_types

    ```
    function foo(): array {
    return [];
    }
    ```
    19 replies    2015-01-28 19:10:37 +08:00
    lincanbin
        1
    lincanbin  
       Jan 28, 2015
    希望加入强类型支持
    denghongcai
        2
    denghongcai  
       Jan 28, 2015
    尼玛,极强Golang既视感
    skybr
        3
    skybr  
       Jan 28, 2015
    和hacklang的博弈里终于退一步了.
    Actrace
        4
    Actrace  
       Jan 28, 2015
    @lincanbin 强类型还不如用java。。。
    Return type简直就是给自己挖坑。。。
    tini9
        5
    tini9  
       Jan 28, 2015
    @Actrace return type不是强制使用的吧,多一个选择也好,强类型对IDE支持还是很有用的
    anewg
        6
    anewg  
       Jan 28, 2015
    @tini9 7要兼容5,任何强制性的东西都是作死啊
    raincious
        7
    raincious  
       Jan 28, 2015
    @Actrace

    然后你会发现,写着写着还不如写C++。

    如果有HTTP库什么的话。
    tini9
        8
    tini9  
       Jan 28, 2015
    不过确实不如像java那样:

    function array foo() {
    return [];
    }

    写起来顺手,或者干脆学java学的彻底点,把function也去掉

    public array foo() {
    return [];
    }


    饶了一大圈,干脆回去写java算了
    lyf362345
        9
    lyf362345  
       Jan 28, 2015 via iPad
    不知道有什么用,最多告诉调用者而已,但是注释也够了吧,真的是坑自己玩!
    tini9
        10
    tini9  
       Jan 28, 2015
    @lyf362345 对IDE智能提示很有用,有时候IDE真的推断不出来类型,对智能提醒是很大的困扰。另外,对速度有一部分提升,这样就不用在运行的过程中动态判断数据类型了
    mahone3297
        11
    mahone3297  
       Jan 28, 2015
    看到好虚偶人不同意。。。个人感觉,强类型,没什么不好。。。
    NCE
        12
    NCE  
       Jan 28, 2015
    关键是如何提升php4-5现有程序的效率,你可以预编译成这种形式,但绝不能让人这么写去,如果酱紫,我为什么不去写hacklang?go?
    tini9
        13
    tini9  
       Jan 28, 2015
    @NCE php是现存的唯一的无状态的解释型语言了吧,asp已经死了。php这么火不是靠的语法特色,是靠的天然热部署,天然的不需要部署
    Dannytmp
        14
    Dannytmp  
       Jan 28, 2015
    PHP为何放弃6 ?
    anewg
        15
    anewg  
       Jan 28, 2015
    @NCE 非强制的吧,官方的态度是打算让PHP5透明升级
    anewg
        16
    anewg  
       Jan 28, 2015
    @Dannytmp 以前有打算开发6的,后面烂尾了。直奔7去了
    zythum
        17
    zythum  
       Jan 28, 2015
    应该是给IDE看的。做语法提示什么的
    lincanbin
        18
    lincanbin  
       Jan 28, 2015 via Android
    @Dannytmp 跟windows 9一样吧
    skybr
        19
    skybr  
       Jan 28, 2015
    IDE都认注释里的@var @return, 优化靠这步也够了, 根本不用改变语法.

    说白了还是有了危机意识, 目前大站转hhvm越来越多, 而且很可能为了再提高一点性能去加上这种hacklang的声明返回类型的语法, 就算以后php能拉近和hhvm的性能, 别人跑惯了hhvm也没什么可能再去删改程序再用回php, 其实就是被hacklang倒逼兼容.


    @tini9 php从来不是能热部署的, 只是大部分使用者习惯不严谨的部署php.
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   934 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 52ms · UTC 22:29 · PVG 06:29 · LAX 15:29 · JFK 18:29
    ♥ Do have faith in what you're doing.