PHP 的类属性强类型要来了

2018-06-22 01:38:20 +08:00
 gouchaoer2
https://wiki.php.net/rfc/typed_properties_v2

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

现在 php 如果再来一个变量强类型的话,那 php 就顺利从 c 的胶水语言演变成 java 了
8390 次点击
所在节点    PHP
33 条回复
SimbaPeng
2018-06-22 01:46:29 +08:00
php 和 java 差的只是一个强类型变量?
feiyuanqiu
2018-06-22 01:54:13 +08:00
还不够,array 这玩意还是得靠 docblock 注释出元素类型才行,不然用途有限。nikita 柏林大学的 phd,想法多,估计下一步他就要提泛型的 rfc 了
yunye
2018-06-22 02:29:00 +08:00
还能不向后兼容了不成
Actrace
2018-06-22 03:32:30 +08:00
强类型弱类型都不影响,作为 PHP 最大的优势,自动类型预判和相关的内存管理是不可能丢掉的。
sagaxu
2018-06-22 07:01:28 +08:00
强类型只是第一步,还要加上 JIT 和更好的 gc,然后是泛型和多线程,靠社区的力量,稳定版发布,奔 2030 年去了
swcat
2018-06-22 07:14:42 +08:00
韩大佬不是在弄也在弄 typephp
zjsxwc
2018-06-22 08:30:53 +08:00
从注释变成了写类型,反正对 ide 用户来说使用区别不大。
doubleflower
2018-06-22 08:52:55 +08:00
和 java 一样的话何不直接用 java ?
Seanfuck
2018-06-22 09:00:59 +08:00
这是在减弱 php 的优势!
linxl
2018-06-22 09:02:45 +08:00
并不是所有人学语言都跟喝水一样。
alexzhou
2018-06-22 09:07:27 +08:00
PHP 的历史糟粕太多,又要向下兼容
m939594960
2018-06-22 09:11:30 +08:00
为啥不用 hhvm
gouchaoer
2018-06-22 10:38:23 +08:00
@sagaxu 恕我直言,这是不太可能的。。。因为 php 照顾的肯定是 fpm 生态,而 fpm 生态里面 gc 已经够用了,而 jit 很难提高太多性能了,至于泛型那更是不需要的,多线程本来就有
sunmonster
2018-06-22 10:39:01 +08:00
@m939594960 hhvm 已经不兼容 php 了,怕有些库会出现莫名奇妙的问题,语法层面目前 php 其实没多大问题,如果能加上异步 async await 就好了,就像 hack 一样,但是直接用 hack 又怕某些库不兼容
gouchaoer
2018-06-22 10:40:36 +08:00
变量强类型估计不会做,因为做了这个 php 就不再是脚本语言了,韩天峰在尝试搞强类型的 php 也就是 typephp,老实说我比较怀疑这个的应用场景
haohappy
2018-06-22 10:41:27 +08:00
@sunmonster hhvm 支持 PHP5.2 就足够了 剩下的 随便你们去折腾了
gouchaoer
2018-06-22 10:45:43 +08:00
@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
2018-06-22 11:55:45 +08:00
真正的 PHPer 是不会用强类型的。
scnace
2018-06-22 12:09:13 +08:00
@gouchaoer 还以为你大号被封了 开小号发帖
jasonchen168
2018-06-22 14:17:30 +08:00
走远了

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/464893

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX