php5.3 注意事项

本文详细介绍了PHP5.3版本中引入的几个关键新特性:命名空间、延迟静态绑定、goto语句、闭包、魔术方法__callStatic()以及一种常量定义方式。这些特性显著提升了PHP的开发效率和代码可读性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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

 


 

 


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值