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

php5.3 注意事项说明

程序员文章站 2023-11-15 12:23:34
php5.3新特性1.支持命名空间(namespace)5.3以前复制代码 代码如下:

php5.3
新特性
1.支持命名空间(namespace)
5.3以前

复制代码 代码如下:

<?php
class zend_db_table_select {
//表示当前这个类文件位于zend/db/table下
}

5.3
复制代码 代码如下:

<?php
namespace zend/db/table
class select {
}

2.支持延迟静态绑定
5.3以前(__class__获得类名)self::who()
复制代码 代码如下:

<?php
class 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();
复制代码 代码如下:

<?php
class 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)

复制代码 代码如下:

<?php
const constant = 'hello world';