php5.3 注意事项说明

yipeiwu_com4年前PHP代码库

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';

相关文章

PHP字符串处理的10个简单方法

1.确定一个字符串的长度 这是文章中最明显的一个例子,其中的问题是我们如何来确定一个字符串的长度,这里我们不能不提的就是strlen()函数: 复制代码 代码如下: $text = "s...

php str_pad() 将字符串填充成指定长度的字符串

/** * 将字符串填充成指定长度的字符串(多字节安全) * @param string $str 指定被填充的字符串 * @param int $len 指定被填充的字符串的长度,如果...

PHP MVC框架中类的自动加载机制实例分析

PHP MVC框架中类的自动加载机制实例分析

本文实例讲述了PHP MVC框架中类的自动加载机制。分享给大家供大家参考,具体如下: 原文 实现类的自动加载主要使用到了set_include_path和spl_autoload_re...

php实现以只读方式打开文件的方法

本文实例讲述了php实现以只读方式打开文件的方法。分享给大家供大家参考。具体分析如下: php中可以通过fopen()打开一个文件,第二个参数设置为"r"表示已只读方式打开,函数返回一个...

PHP使用socket发送HTTP请求的方法

本文实例讲述了PHP使用socket发送HTTP请求的方法。分享给大家供大家参考,具体如下: socket方式: $socket = socket_create(AF_INET, S...