php5.3 注意事项

来源:互联网 发布:算法设计需要注意什么 编辑:程序博客网 时间:2024/05/09 08:25

php5.3

新特性

1.支持命名空间(namespace)

5.3以前

<?phpclass Zend_Db_Table_Select {//表示当前这个类文件位于Zend/Db/Table下}

5.3

<?phpnamespace Zend/Db/Tableclass Select {}

 

2.支持延迟静态绑定

5.3以前(__CLASS__获得类名)self::who()

<?phpclass A {    public static function who() {        echo __CLASS__;    }    public static function test() {        self::who();    }}class B extends A {    public static function who() {         echo __CLASS__;    }}B::test();?> 

输出A

5.3(__CLASS__获得类名)static::who();

<?phpclass A {    public static function who() {        echo __CLASS__;    }    public static function test() {        static::who(); // 这里实现了延迟的静态绑定    }}class B extends A {    public static function who() {         echo __CLASS__;    }}B::test();?> 

输出B

 

3.支持goto语句

多数计算机程序设计语言中都支持无条件转向语句goto,当程序执行到goto语句时,即转向由goto语句中的标号指出的程序位置继续执行。

 

4.支持闭包

<?php$msg = "hello";$callback  =  function() use($msg){    print_r($msg);} $msg = "hello world!";callback($callback);

输出

hello

hello world!

5.新增魔术方法__callStatic()

PHP中原本有一个魔术方法__call(),当代码调用对象的某个不存在的方法时该魔术方法会被自动调用。

新增的__callStatic()方法则只用于静态类方法。当尝试调用类中不存在的静态方法时,__callStatic()魔术方法将被自动调用。

 

6.新增一种常量定义方式(有时代码出错,如undefined HE,你要看看是否支持const)

<?phpconst CONSTANT = 'Hello World';

 


 

 


原创粉丝点击