gouchaoer2
V2EX  ›  PHP

PHP 的类属性强类型要来了

  •  1
     
  •   gouchaoer2 · Jun 22, 2018 via Android · 9505 views
    This topic created in 3057 days ago, the information mentioned may be changed or developed.
    https://wiki.php.net/rfc/typed_properties_v2

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

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

    后缀名是.thp ?

    不知道会不会出现 Deno 那类 issue
    sagaxu
    sagaxu
    Jun 23, 2018 via Android
    26
    @gouchaoer async 和 await 哪来的 callback hell ?
    gouchaoer2
    gouchaoer2
    OP
    Jun 23, 2018 via Android
    27
    @sagaxu 一个方法 async 了,调用栈都 async 啥的,在简单的例子里似乎很简单,在实际业务里会很复杂
    sagaxu
    sagaxu
    Jun 23, 2018 via Android
    28
    @gouchaoer2 async 并没有传染性,同步方法里调用异步方法,或者异步方法里调用同步方法,都可以。只有需要 await 异步结果时,才需要将调用方 mark 为 async。
    sagaxu
    sagaxu
    Jun 23, 2018 via Android
    30
    @gouchaoer2 不要人云亦云,自己试试才知道。所谓传染性,这个观点很 php。
    gouchaoer2
    gouchaoer2
    OP
    Jun 23, 2018 via Android
    31
    @sagaxu 你的意思是要截断这种 async 传染可以不用 await 而是直接处理 async 返回的 promise,也就是回调的模式对么。。。像这样: https://segmentfault.com/a/1190000007535316,在某种程度上来说这也算是解决方案。。。。另外你的这种把讨论上升到语言的说法让我不舒服
    chenxytw
    chenxytw
    Jun 23, 2018
    32
    支持 typed php
    icy37785
    icy37785
    Jun 23, 2018 via iPhone
    33
    弱类型是 PHP 的优势,为什么要强类型。
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Privacy   ·   Solana   ·   2526 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 58ms · UTC 14:53 · PVG 22:53 · LAX 06:53 · JFK 09:53
    ♥ Do have faith in what you're doing.