這篇文章帶大家聊聊php5.4的特性(Short Open Tag、陣列簡寫形式、Traits等等),有需要的可以看看,希望對大家有幫助!
Short Open Tag
#Short Open Tag 自 PHP5.4 起總是可用。
在這裡集中講一下有關 PHP 起止標籤的問題。即:
<?php // Code... ?>
通常就是上面的形式,除此之外還有一種簡寫形式:
<? /* Code... */ ?>
還可以把<em>81ca97e0d95799c860f8b1787c305688</em>
簡寫成:<em>acf0cd61d411e110a647935c660cc4f8</em>
這種簡寫形式稱為Short Open Tag, 在PHP5.3 起被預設開啟,在PHP5.4 起總是可用。
使用這種簡寫形式在 HTML 中嵌入 PHP 變數將會非常方便。
對於純 PHP 檔案(如類別實作檔案), PHP 官方建議頂格寫起始標記,同時 省略 結束標記。
這樣可以確保整個PHP 檔案都是PHP 程式碼,沒有任何輸出,否則當你包含該檔案後,設定Header 和Cookie 時會遇到一些麻煩[註].
註:Header 和Cookie 必須在輸出任何內容之前發送。
陣列簡寫形式
這是非常方便的一項特徵!
程式碼如下:
// 原来的数组写法 $arr = array("key" => "value", "key2" => "value2"); // 简写形式 $arr = ["key" => "value", "key2" => "value2"];
Traits
#所謂Traits就是「構件」,是用來取代繼承的一種機制。 PHP中無法進行多重繼承,但一個類別可以包含多個Traits.
// Traits不能被单独实例化,只能被类所包含 trait SayWorld { public function sayHello() { echo 'World!'; } } class MyHelloWorld { // 将SayWorld中的成员包含进来 use SayWorld; } $xxoo = new MyHelloWorld(); // sayHello() 函数是来自 SayWorld 构件的 $xxoo->sayHello();
Traits還有很多神奇的功能,例如包含多個Traits, 解決衝突,修改存取權限,為函數設定別名等等。
Traits中也同樣可以包含Traits. 篇幅有限不能逐個舉例,
內建Web 伺服器
PHP從5.4開始內建一個輕量級的Web伺服器,不支援並發,定位是用於開發和調試環境。
在開發環境使用它的確非常方便。
php -S localhost:8000
這樣就在目前目錄建立起了一個Web伺服器,你可以透過 http://localhost:8000/ 來存取。
其中localhost是監聽的ip,8000是監聽的端口,可以自行修改。
很多應用程式中,都會進行URL重寫,所以PHP提供了一個設定路由腳本的功能:
php -S localhost:8000 index.php
這樣一來,所有的請求都會由index.php來處理。
你也可以使用 XDebug 來進行斷點偵錯。
細節修改
PHP5.4 新增了動態存取靜態方法的方式:
$func = "funcXXOO"; A::{$func}();
新增在實例化時存取類別成員的特徵:
(new MyClass)->xxoo();
新增支援對函數傳回陣列的成員存取解析(這種寫法在先前版本是會被錯誤的):
print func()[0];
推薦學習:《 PHP影片教學》
以上是一文聊聊php5.4的特性【總結】的詳細內容。更多資訊請關注PHP中文網其他相關文章!