PHP 的类属性强类型要来了 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
gouchaoer2
V2EX    PHP

PHP 的类属性强类型要来了

  •  1
     
  •   gouchaoer2 2018 年 6 月 22 日 via Android 8902 次点击
    这是一个创建于 2793 天前的主题,其中的信息可能已经有所发展或是发生改变。
    https://wiki.php.net/rfc/typed_properties_v2

    rfc 是第二版,作者有 Nikita,所以大概率会采用

    现在 php 如果再来一个变量强类型的话,那 php 就顺利从 c 的胶水语言演变成 java 了
    33 条回复    2018-06-23 14:29:02 +08:00
    SimbaPeng
        1
    SimbaPeng  
       2018 年 6 月 22 日 via Android   1
    php 和 java 差的只是一个强类型变量?
    feiyuanqiu
        2
    feiyuanqiu  
       2018 年 6 月 22 日
    还不够,array 这玩意还是得靠 docblock 注释出元素类型才行,不然用途有限。nikita 柏林大学的 phd,想法多,估计下一步他就要提泛型的 rfc 了
    yunye
        3
    yunye  
       2018 年 6 月 22 日 via Android
    还能不向后兼容了不成
    Actrace
        4
    Actrace  
       2018 年 6 月 22 日
    强类型弱类型都不影响,作为 PHP 最大的优势,自动类型预判和相关的内存管理是不可能丢掉的。
    sagaxu
        5
    sagaxu  
       2018 年 6 月 22 日 via Android
    强类型只是第一步,还要加上 JIT 和更好的 gc,然后是泛型和多线程,靠社区的力量,稳定版发布,奔 2030 年去了
    swcat
        6
    swcat  
       2018 年 6 月 22 日 via iPhone
    韩大佬不是在弄也在弄 typephp
    zjsxwc
        7
    zjsxwc  
       2018 年 6 月 22 日
    从注释变成了写类型,反正对 ide 用户来说使用区别不大。
    doubleflower
        8
    doubleflower  
       2018 年 6 月 22 日
    和 java 一样的话何不直接用 java ?
    Seanfuck
        9
    Seanfuck  
       2018 年 6 月 22 日   1
    这是在减弱 php 的优势!
    linxl
        10
    linxl  
       2018 年 6 月 22 日
    并不是所有人学语言都跟喝水一样。
    alexzhou
        11
    alexzhou  
       2018 年 6 月 22 日
    PHP 的历史糟粕太多,又要向下兼容
    m939594960
        12
    m939594960  
       2018 年 6 月 22 日
    为啥不用 hhvm
    gouchaoer
        13
    gouchaoer  
       2018 年 6 月 22 日
    @sagaxu 恕我直言,这是不太可能的。。。因为 php 照顾的肯定是 fpm 生态,而 fpm 生态里面 gc 已经够用了,而 jit 很难提高太多性能了,至于泛型那更是不需要的,多线程本来就有
    sunmonster
        14
    sunmonster  
       2018 年 6 月 22 日
    @m939594960 hhvm 已经不兼容 php 了,怕有些库会出现莫名奇妙的问题,语法层面目前 php 其实没多大问题,如果能加上异步 async await 就好了,就像 hack 一样,但是直接用 hack 又怕某些库不兼容
    gouchaoer
        15
    gouchaoer  
       2018 年 6 月 22 日
    变量强类型估计不会做,因为做了这个 php 就不再是脚本语言了,韩天峰在尝试搞强类型的 php 也就是 typehp,老实说我比较怀疑这个的应用场景
    haohappy
        16
    haohappy  
       2018 年 6 月 22 日
    @sunmonster hhvm 支持 PHP5.2 就足够了 剩下的 随便你们去折腾了
    gouchaoer
        17
    gouchaoer  
       2018 年 6 月 22 日
    @sunmonster 其实 async/await 以及 promise/yield 并不是一个好的解决阻塞的方案,和回调一样有 callback hell 问题,因为会有调用栈传染,最后搞得很复杂。。。你说的这个 rfc 里面可以找到: https://wiki.php.net/rfc/fiber,但是这个很鸡肋,zanphp/php-msf 等框架就是代表,很难很复杂。。。现在 swoole 有像 golang 那样的全协程了,php 在这里发是领先的: https://github.com/swoole/swoole-src/blob/master/examples/coroutine/coro_nested.php
    crist
        18
    crist  
       2018 年 6 月 22 日
    真正的 PHPer 是不会用强类型的。
    scnace
        19
    scnace  
       2018 年 6 月 22 日 via Android
    @gouchaoer 还以为你大号被封了 开小号发帖
    jasonchen168
        20
    jasonchen168  
       2018 年 6 月 22 日
    走远了
    realpg
        21
    realpg  
    PRO
       2018 年 6 月 22 日
    弱类型是 php 最大的优势之一
    扯什么性能之类的,真正需要压榨这个的,完全可以不用 php
    abcbuzhiming
        22
    abcbuzhiming  
       2018 年 6 月 22 日
    光这个有啥用,有没有编译时类型检查才是重点,动态语言的坑就在于没有类型检查
    ngg0707
        23
    ngg0707  
       2018 年 6 月 22 日
    php 的“异常”和“错误”及其捕捉,我至今没太搞懂
    shijingshijing
        24
    shijingshijing  
       2018 年 6 月 22 日 via iPhone
    很好,世界上最好的语言马上要晋级为宇宙最好的语言,没有之一
    wdlth
        25
    wdlth  
       2018 年 6 月 22 日
    头部是<?thp

    后缀名是.thp ?

    不知道会不会出现 Deno 那类 issue
    sagaxu
        26
    sagaxu  
       2018 年 6 月 23 日 via Android
    @gouchaoer async 和 await 哪来的 callback hell ?
    gouchaoer2
        27
    gouchaoer2  
    OP
       2018 年 6 月 23 日 via Android
    @sagaxu 一个方法 async 了,调用栈都 async 啥的,在简单的例子里似乎很简单,在实际业务里会很复杂
    sagaxu
        28
    sagaxu  
       2018 年 6 月 23 日 via Android
    @gouchaoer2 async 并没有传染性,同步方法里调用异步方法,或者异步方法里调用同步方法,都可以。只有需要 await 异步结果时,才需要将调用方 mark 为 async。
    gouchaoer2
        29
    gouchaoer2  
    OP
       2018 年 6 月 23 日 via Android
    sagaxu
        30
    sagaxu  
       2018 年 6 月 23 日 via Android
    @gouchaoer2 不要人云亦云,自己试试才知道。所谓传染性,这个观点很 php。
    gouchaoer2
        31
    gouchaoer2  
    OP
       2018 年 6 月 23 日 via Android
    @sagaxu 你的意思是要截断这种 async 传染可以不用 await 而是直接处理 async 返回的 promise,也就是回调的模式对么。。。像这样: https://segmentfault.com/a/1190000007535316,在某种程度上来说这也算是解决方案。。。。另外你的这种把讨论上升到语言的说法让我不舒服
    chenxytw
        32
    chenxytw  
       2018 年 6 月 23 日
    支持 typed php
    icy37785
        33
    icy37785  
       2018 年 6 月 23 日 via iPhone
    弱类型是 PHP 的优势,为什么要强类型。
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     874 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 24ms UTC 22:30 PVG 06:30 LAX 14:30 JFK 17:30
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86