PHP 5.4 新特性

1、新增 Traits

手冊

// Traits不能被單獨(dú)實例化,只能被類所包含
trait SayWorld
{
    public function sayHello()
    {
        echo 'World!';
    }
}

class MyHelloWorld
{
    // 將SayWorld中的成員包含進(jìn)來
    use SayWorld;
}

$xxoo = new MyHelloWorld();
// sayHello() 函數(shù)是來自 SayWorld 構(gòu)件的
$xxoo->sayHello();

2、新增短數(shù)組語法

// 原來的數(shù)組寫法
$arr = array("key" => "value", "key2" => "value2");
$arr = array(1,2,3,4);
// 簡寫形式
$arr = ["key" => "value", "key2" => "value2"];
$arr = [1,2,3,4];

3、新增支持對函數(shù)返回數(shù)組的成員訪問解析

print func()[0];

4、無論 php.ini 中是否設(shè)置 short_open_tag, 格式總是可用。

這種簡寫形式被稱為 Short Open Tag, 在 PHP5.3 起被默認(rèn)開啟,在 PHP5.4 起總是可用。 使用這種簡寫形式在 HTML 中嵌入 PHP 變量將會非常方便。

5、內(nèi)置用于開發(fā)的 CLI 模式的 web server

//啟動Web服務(wù)器
php -S localhost:8000
//啟動時指定根目錄
php -S localhost:8000 -t /home/me/public_html/foo
//使用路由(Router)腳本
php -S localhost:8000 index.php //所有的請求都會由index.php來處理。

6、新增在實例化時訪問類成員

(new Foo)->bar();

7、新增了動態(tài)訪問靜態(tài)方法的方式

$func = "funcXXOO";
A::{$func}();

8、閉包支持 $this

9、新增二進(jìn)制直接量

$bin = bindec('110011'); //之前需要這樣寫
$bin = 0b110011;
echo $bin; //51

10、session提供了上傳進(jìn)度支持

通過 $_SESSION["upload_progress_name"]就可以獲得當(dāng)前文件上傳的進(jìn)度信息,結(jié)合 Ajax 就能很容易的實現(xiàn)上傳進(jìn)度條。

11、默認(rèn)使用 mysqlnd

現(xiàn)在mysql, mysqli, pdo_mysql默認(rèn)使用mysqlnd本地庫,在PHP5.4以前需要:./configure --with-mysqli=mysqlnd
現(xiàn)在:./configure --with-mysqli

12、讓 json 更懂中文

echo json_encode("中文", JSON_UNESCAPED_UNICODE);  
//"中文" 

13、default_charset從ISO-8859-1已經(jīng)變?yōu)閁TF-8

默認(rèn)發(fā)送“Content-Type: text/html; charset=utf-8”

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容