时间:2021-07-01 10:21:17 帮助过:12人阅读
是使用场景不大,还是因为PHP开发组因为自己的需要而产生了这些特性?
PHP的版本一直在快速更新中,但是怎么感觉很多特性都没有用到
是使用场景不大,还是因为PHP开发组因为自己的需要而产生了这些特性?
不是用不到,是你用不到。
5.3 的 Namespace,这个应该常用吧。
5.4 的 Traits,用过才知道。
finally 如果你还是用 trigger_error 那么这个你确实用不到。
array 的语法糖衣。
我大概说一下我用过的几个版本综合的吧
1.接受函数返回值作为if条件 if(empty())
2.foo()[0]
3.$array = [1,2,3,4]
还有很多记不起来了
如果你要用别人的代码(packagist),没有命名空间怎么玩得转呢?
[
"key" => "value"
]
数组的短定义,没有不用的理由
try catch 要用 finally 也是 5.5才有的
在5.2下写了N年代码,最近开始有幸转到5.5,感觉代码里充满了新特性
这个需要时间验证,老项目可能生不大,新项目,尤其是一些框架中会首先应用到。
自己配置环境的主机可以用,真的用起来很爽。虚拟主机和云主机很多还是5.3的没有升级,就没办法了。
公司自己开发项目,所以我们可以紧跟最新版本。
Namespace 几乎不用,我们都是下划线党。
数组挺好的,可以少打很多字,保护手指关节,有益身心。
Traits 不知道怎么用,也没有强烈需求
5.6.0 我最喜欢的是可变参数,恩,封装数据库操作挺好的,一直喜欢sprintf风格
科幻下未来PHP的两个新特性:
1、用+来连接字符串,用.来访问类成员,->消失
2、强类型(被MongoDB各种坑)
我们服务器还停留在5.3.17
trait 这货的出现,世界观就开始纠结起来,到底是用 mixin 还是 inhert
国内还是大多5.2 现在慢慢升级到5.3了 也算好一些。
新的特性往往在框架中使用较多, 用不用的到确实如 justjavac 所说 是个人以及公司选型的问题。
5.3的 namespace 以及闭包函数 在国外的一些新的类库和框架中已经是标配。如果你阅读其他开源项目源码,这些知识是必须的。
个人建议至少得升级到5.3。
另外安全以及运行效率也是版本升级的一个原因。
phpng下一代的php。。
如果是私有的项目,就跟着官方的新版本用呗;如果是开源项目就要照顾一下旧版本,目前来讲兼容到 5.3 算是个不错的选择。
推荐一下我写的文章:PHP 自 5.2 到 5.6 中新增的功能详解