PHP5.3之后的新特性

 

  从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__ 来解决路径问题

时间: 2024-08-17 20:16:50

PHP5.3之后的新特性的相关文章

PHP5.6 CONST新特性几个例子

PHP5.6起CONST新特性定义类常量可以使用常量标量表达式(Constant scalar expressions),例如: <?php   class MyTimer {     const SEC_PER_DAY = 60 * 60 * 24; }   ?> define和CONST的区别是define可以用于定义全局常量,而CONST是定义类的常量. static静态变量与define,CONST的区别是static定义的变量是可以改变的,而后两者不行,并且static静态变量是随类

PHP5的XML新特性

php5|xml 面向的读者 这篇文章的面向对象是所有对PHP5的XML新功能感兴趣的各个水平的PHP开发者.我们假定读者掌握XML的基本知识.然而,如果你已经在你的PHP当中使用了XML,那么这篇文章也会让你受益非浅. 介绍 在当今的互联网世界,XML已经不再是一个时髦词了,它已经被广泛的接受和规范的使用了.因此相对于PHP4,PHP5对于XML的支持更受到了重视.在PHP4中你面对的几乎都是非标准,API中断,内存泄漏以及其它不完全的功能.尽管有些不足已经在PHP4.3中得到改进,开发者们还

PHP5.0新特性(ZT)

php5 (一) Zend 2.0的诞生现在的PHP4所使用的基本文法是被称之为Zend 引擎的脚本编译引擎.这个就是PHP4的优良机能的原因之一,是作为对PHP3的改进而生成的一种语言.大家一直认为,PHP4的性能根据当初的目标,比PHP3有了很大的提升,在网络编程的世界里占据了很大的份额. 开发了Zend 引擎的Zend公司是在开发PHP4的同时,由PHP3的主要开发者Zeev Suraski和Andi Gutmans所创立的企业合并而来的.Zend的名称是由Zeev和Andi的名字合起来组

php5.3 PHP5.4 PHP5.5 php5.6 新特性/使用PHP5.5/PHP5.6要注意的

因为用到PHP新版本,一些新特性必须要了解,且有些可以在开发时就使用,如果不使用,那么何必升级PHP版本呢,显得有些得不偿失了! 所以整理了一下 一些特性,有可能不全,待添加 PHP7.0 和PHP7.1.X新特性请看 http://blog.csdn.net/fenglailea/article/details/52717364 1.PHP 5.3中的新特性  1.1 PHP 5.3中的新特性  1.1.1. 支持命名空间 (Namespace) 毫无疑问,命名空间是PHP5.3所带来的最重要

PHP5的XML新特性_php基础

面向的读者 这篇文章的面向对象是所有对PHP5的XML新功能感兴趣的各个水平的PHP开发者.我们假定读者掌握XML的基本知识.然而,如果你已经在你的PHP当中使用了XML,那么这篇文章也会让你受益非浅. 介绍 在当今的互联网世界,XML已经不再是一个时髦词了,它已经被广泛的接受和规范的使用了.因此相对于PHP4,PHP5对于XML的支持更受到了重视.在PHP4中你面对的几乎都是非标准,API中断,内存泄漏以及其它不完全的功能.尽管有些不足已经在PHP4.3中得到改进,开发者们还是决定抛弃原有的代

PHP5.3新特性小结_php技巧

本文总结分析了PHP5.3新特性.分享给大家供大家参考,具体如下: 1.命名空间 解决了类,函数和常量名冲突的问题 2.静态绑定 继承时父类可以直接调用子类重写父类的方法 class A { public static function who() { echo __CLASS__; } public static function test() { static::who(); // 后期静态绑定从这里开始 } } class B extends A { public static funct

PHP5.6新特性例子举证

PHP5.6已经发布Alpha版,预示着下一个大版本的升级即将到来,PHP5.6带来了哪些新特性?本文将介绍这些特性,并讨论它们可以给开发者带来哪些好处. 常量标量表达式(Constant scalar expressions) 在常量.属性声明和函数参数默认值声明时,以前版本只允许常量值,PHP5.6开始允许使用包含数字.字符串字面值和常量的标量表达式.  代码如下 复制代码 <?php const ONE = 1; const TWO = ONE * 2; class C {     con

PHP 5昨天隆重推出--PHP 5/Zend Engine 2.0新特性

前言    今天突然想到PHP官方网站上一转,一眼就看到PHP5推出的通告.虽然以前看到过PHP5的预告,但还是仔细看了PHP 5/Zend Engine 2.0新特性一文,一股JAVA气息扑面而来...   特将该文试译出来,首发于CSDN网站,以飨读者. PHP 5/Zend Engine 2.0新特性徐唤春 译 sfwebsite@hotmail.comhttp://www.php.net/zend-engine-2.php 全新的对象模型PHP中的对象处理部分已完全重写,具有更佳的性能和

PHP7.0,PHP7.1.x新特性

PHP7.1.x 新特性 风.fox 1.可为空(Nullable)类型 类型现在允许为空,当启用这个特性时,传入的参数或者函数返回的结果要么是给定的类型,要么是 null .可以通过在类型前面加上一个问号来使之成为可为空的. function test(?string $name) { var_dump($name); } 以上例程会输出: string(5) "tpunt" NULL Uncaught Error: Too few arguments to function tes