首頁  >  文章  >  後端開發  >  一文聊聊php5.4的特性【總結】

一文聊聊php5.4的特性【總結】

青灯夜游
青灯夜游轉載
2022-07-27 14:18:342641瀏覽

這篇文章帶大家聊聊php5.4的特性(Short Open Tag、陣列簡寫形式、Traits等等),有需要的可以看看,希望對大家有幫助!

一文聊聊php5.4的特性【總結】

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 &#39;World!&#39;;
    }
}
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中文網其他相關文章!

陳述:
本文轉載於:cnblogs.com。如有侵權,請聯絡admin@php.cn刪除