php版本进化

以下只是简单记录:
PHP5.2 以前:autoload, PDO 和 MySQLi, 类型约束
PHP5.2:JSON 支持
PHP5.3:弃用的功能,匿名函数,新增魔术方法,命名空间,后期静态绑定,Heredoc 和 Nowdoc, const, 三元运算符,Phar
PHP5.4:Short Open Tag, 数组简写形式,Traits, 内置 Web 服务器,细节修改
PHP5.5:yield, list() 用于 foreach, 细节修改
PHP5.6: 常量增强,可变函数参数,命名空间增强
PHP 7.0.2 Alpha 使用新版的ZendEngine引擎,带来了许多新的特性

1)内置的服务器。熟悉laravel童鞋都了解,PHP artisan serve 很容易启动php内置的http服务器,很方便本地的开发,但是相比传统的服务器apache\nginx还是逊色不少;
l 性能不佳。一次只能处理一个请求,其他请求会受到阻塞。如果某个进程耗时较长(数据库查询、远程API调用),则整个Web应用会陷入停顿状态。
l 支持媒体类型较少(这一点PHP 5.5.7以后有较大改进)。
l 路由脚本仅支持少量的URL重写,更高级则还是需要Apache或Nginx。

(2)trait出现。php 是一种单继承语言,很大程度上,大大提高了代码的复用性。trait的这种复用技术在laravel 里面得到了很好的体现。比如laravel 内置的权限管理就是一个很好的例子,将很多看似不相关的逻辑代码进行复用。这样的话,很容易模块化实现。

(3)匿名和闭包函数的出现。在laravel框架里面体验最深的应该就是这个特性了,路由,集合,给我感受最深的就莫过于集合了,可以很方便的实现代码的重构,是不是很方便呢。

(4)独立的扩展 zend opcache(字节码缓存)。了解PHP运行原理的童鞋都清楚,php是需要php解释器解析成字节码然后才能被zend 虚拟机执行的。那我们是不是可以这些字节码缓存起来,以供下次执行时使用呢?那么,这么时候就需要打开zend opcache了,默认情况下,Zend Opcache没有开启,具体的安装方法,请参考:http://blog.csdn.net/illusion_you/article/details/79262539,啰嗦一句,php 7.0 以来,本人本身最直观的感受还是运行速度有质的飞跃。

(5)接口的使用。计算机专业的多多少少都应该听说过,高内聚低耦合,从某些方面来说,这就是善用接口的好处。不管是laravel底层的一些代码实现,还是laravel 相关的一些扩展包,例如,prettus/l5-repository(仓库设计模式)。接口的好处就不用我一一列举了吧,易扩展、易维护、代码结构清晰等等。

你可能感兴趣的:(php版本进化)