php5.3 注意事項說明
更新時間:2013年07月01日 09:50:17 作者:
本篇文章是對php5.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.支持延遲靜態(tài)綁定
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(); // 這里實現(xiàn)了延遲的靜態(tài)綁定
}
}
class B extends A {
public static function who() {
echo __CLASS__;
}
}
B::test();
?>
輸出B
3.支持goto語句
多數(shù)計算機程序設計語言中都支持無條件轉向語句goto,當程序執(zhí)行到goto語句時,即轉向由goto語句中的標號指出的程序位置繼續(xù)執(zhí)行。
4.支持閉包
復制代碼 代碼如下:
<?php
$msg = "hello";
$callback = function() use($msg){
print_r($msg);
}
$msg = "hello world!";
callback($callback);
輸出
hello
hello world!
5.新增魔術方法__callStatic()
PHP中原本有一個魔術方法__call(),當代碼調(diào)用對象的某個不存在的方法時該魔術方法會被自動調(diào)用。
新增的__callStatic()方法則只用于靜態(tài)類方法。當嘗試調(diào)用類中不存在的靜態(tài)方法時,__callStatic()魔術方法將被自動調(diào)用。
6.新增一種常量定義方式(有時代碼出錯,如undefined HE,你要看看是否支持const)
復制代碼 代碼如下:
<?php
const CONSTANT = 'Hello World';
相關文章
PHP將整個網(wǎng)站生成HTML純靜態(tài)網(wǎng)頁的方法總結
我經(jīng)常會在網(wǎng)上看到有人問怎么將整個動態(tài)的網(wǎng)站靜態(tài)化,其實實現(xiàn)的方法很簡單2012-02-02
thinkphp使用phpmailer發(fā)送郵件的方法
這篇文章主要介紹了thinkphp使用phpmailer發(fā)送郵件的方法,包含了配置發(fā)送郵件類、設置參數(shù)及發(fā)送郵件測試等的具體步驟,具有一定的實用價值,需要的朋友可以參考下2014-11-11
PHP 5.5 創(chuàng)建和驗證哈希最簡單的方法詳解
最近 PHP 5.5.0 發(fā)布了,并帶來了一份完整的全新特性與函數(shù)的列表。全新API之一就是Password Hashing API.它包含4個函數(shù):password_get_info(), password_hash(), password_needs_rehash(),和password_verify().讓我們分步來了解每個函數(shù)2013-11-11

