您好,登錄后才能下訂單哦!
這篇文章將為大家詳細講解有關php5.3和php5.4有那些區別,小編覺得挺實用的,因此分享給大家做個參考,希望大家閱讀完這篇文章后可以有所收獲。
php5.3和php5.4的區別:1、php5.4增加了數組的簡寫形式;2、php5.4增加了Traits;3、自php5.4開始,內置一個輕量級的web服務器;4、php5.4新增了動態訪問靜態方法的方式。
1、Short Open Tag 自 PHP5.4 起總是可用
在這里集中講一下有關 PHP 起止標簽的問題。即:
<?php // Code... ?>
通常就是上面的形式,除此之外還有一種簡寫形式:
<? /* Code... */ ?>
還可以把
<?php echo $xxoo;?>
簡寫成:
<?= $xxoo;?>
這種簡寫形式被稱為 Short Open Tag, 在 PHP5.3 起被默認開啟,在 PHP5.4 起總是可用。使用這種簡寫形式在 HTML 中嵌入 PHP 變量將會非常方便。
對于純 PHP 文件(如類實現文件), PHP 官方建議頂格寫起始標記,同時 省略 結束標記。這樣可以確保整個 PHP 文件都是 PHP 代碼,沒有任何輸出,否則當你包含該文件后,設置 Header 和 Cookie 時會遇到一些麻煩
注:Header 和 Cookie 必須在輸出任何內容之前被發送。
2、數組簡寫形式
這是非常方便的一項特征!
// 原來的數組寫法 $arr = array("key" => "value", "key2" => "value2"); // 簡寫形式 $arr = ["key" => "value", "key2" => "value2"];
3、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, 解決沖突,修改訪問權限,為函數設置別名等等。
4、內置 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 來進行斷點調試。
5、細節修改
PHP5.4 新增了動態訪問靜態方法的方式:
$func = "funcXXOO"; A::{$func}();
新增在實例化時訪問類成員的特征:
(new MyClass)->xxoo();
新增支持對函數返回數組的成員訪問解析(這種寫法在之前版本是會報錯的):
print func()[0];
關于php5.3和php5.4有那些區別就分享到這里了,希望以上內容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。