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”