欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  php教程

PHP5.3之后的新特性

程序员文章站 2024-02-11 20:27:12
...
  从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__ 来解决路径问题