V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
mactalk
V2EX  ›  PHP

PHP7 接受了 Return Type Declarations

  •  
  •   mactalk · 2015-01-28 14:16:22 +08:00 · 4513 次点击
    这是一个创建于 3590 天前的主题,其中的信息可能已经有所发展或是发生改变。
    https://wiki.php.net/rfc/return_types

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

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

    如果有HTTP库什么的话。
    tini9
        8
    tini9  
       2015-01-28 15:00:13 +08:00
    不过确实不如像java那样:

    function array foo() {
    return [];
    }

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

    public array foo() {
    return [];
    }


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

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


    @tini9 php从来不是能热部署的, 只是大部分使用者习惯不严谨的部署php.
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   5877 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 28ms · UTC 03:04 · PVG 11:04 · LAX 19:04 · JFK 22:04
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.