php5.3
新特性
1.支持命名空间(namespace)
5.3以前
<?php<BR>class Zend_Db_Table_Select {<BR>//表示当前这个类文件位于Zend/Db/Table下<BR>}<BR>
5.3
<?php<BR>namespace Zend/Db/Table<BR>class Select {<BR>}<BR>
2.支持延迟静态绑定
5.3以前(__CLASS__获得类名)self::who()
<?php<BR>class A {<BR> public static function who() {<BR> echo __CLASS__;<BR> }<BR> public static function test() {<BR> self::who();<BR> }<BR>}<BR>class B extends A {<BR> public static function who() {<BR> echo __CLASS__;<BR> }<BR>}<BR>B::test();<BR>?> <BR>
输出A
5.3(__CLASS__获得类名)static::who();
<?php<BR>class A {<BR> public static function who() {<BR> echo __CLASS__;<BR> }<BR> public static function test() {<BR> static::who(); // 这里实现了延迟的静态绑定<BR> }<BR>}<BR>class B extends A {<BR> public static function who() {<BR> echo __CLASS__;<BR> }<BR>}<BR>B::test();<BR>?> <BR>
输出B
3.支持goto语句
多数计算机程序设计语言中都支持无条件转向语句goto,当程序执行到goto语句时,即转向由goto语句中的标号指出的程序位置继续执行。
4.支持闭包
&<a>本2文来*源gao($daima.com搞@代@#码(网</a><strong>搞gaodaima代码</strong>lt;?php<BR>$msg = "hello";<BR>$callback = function() use($msg){<BR> print_r($msg);<BR>} <BR>$msg = "hello world!";<BR>callback($callback);<BR>
输出
hello
hello world!
5.新增魔术方法__callStatic()
PHP中原本有一个魔术方法__call(),当代码调用对象的某个不存在的方法时该魔术方法会被自动调用。
新增的__callStatic()方法则只用于静态类方法。当尝试调用类中不存在的静态方法时,__callStatic()魔术方法将被自动调用。
6.新增一种常量定义方式(有时代码出错,如undefined HE,你要看看是否支持const)
<?php<BR>const CONSTANT = 'Hello World';<BR>