日期:2011-12-07 浏览次数:20562 次
从PHP4到PHP5,实现了由个人开发语言到专业互联网的发展,见证着PHP从山寨走上正规大军的发展。PHP6还在酝酿中,相信PHP5会作为PHP6小试牛刀的场地。 PHP5.3是PHP5的一个里程碑,加入了大量新特性。PHP功能是越来越多了,但是PHP的语法却越来越丑陋,有时加入了新功能,而新功能又带来了新问题,为了修复问题又要加入新的语法来修复。没有PHP的基础的朋友也不用担心,先对PHP5.3有个基本的了解。等学完后面知识再回过头来看PHP5.3的新特性你会有个全新的理解和感悟。
1、首先对之前滥用的语法进行了规范
众所周知PHP在语言开发过程中有一个很好的容错性,导致在数组或全局变量中包含字符串不使用引号是可以不报错的,很多业余的开发者因为懒惰而产生的安全问题十分严重,之所以PHP5.3对所有基本的语法进行了重新整理和提高写作规范,其实对PHP开发者来讲写作上并没有太大的影响,只是让他们变的更加专业。
2、MySQL驱动Mysqli 提高效率
一直以来,php都是通过mysql客户端连接mysql,而现在mysql官方已经推出php版的mysql客户端,而这个mysqlind有效降低内存的使用以及提高性能
(1)编译php更方便了,不需要libmysql,已经内置在源码中
(2)使用php许可,避免版权问题
(3)使用php的内存管理,支持php内存限制(memory_limit)
(4)所有数据在内存只有一份,之前的libmysql有两份
(5)提供性能统计功能,帮助分析瓶颈
(6)在驱动层增加缓存机制
3、PHP5.3安全和性能的提升
如md5()大概提高了10%-15%的性能,更好的内存处理机制,提高软件性能的访问。解决了include(require)_once重复打开的问题,之前once都是用静态变量实现的,用gcc4编译的二进制文件将更小,整体性能提高了5%-15%
4、延迟静态绑定
PHP的静态是在预编译时就固定好的,所以在继承的时候,父类里的self指的是父类,而不是子类。而php5.3加入了新的语法static,可以在运行时候捕捉当前类
5、更多新特性
(1)名字空间,用来解决命名被污染
(2)新的魔法函数 __callStatic 原来 __call的静态模式
(3)支持变量调用静态,可以通过$someClass::$method()调用
(4)新增日期函数date_create_from_format
(5)新增了类似JavaScript中的匿名函数和闭包
(6)新魔法常量 __DIR__ 来解决路径问题