中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

php中trait的使用方法

發布時間:2021-05-18 11:07:47 來源:億速云 閱讀:365 作者:小新 欄目:編程語言

這篇文章主要介紹了php中trait的使用方法,具有一定借鑒價值,感興趣的朋友可以參考下,希望大家閱讀完這篇文章之后大有收獲,下面讓小編帶著大家一起了解一下。

php trait是一種代碼復用技術,為PHP的單繼承限制提供了一套靈活的代碼復用機制,其使用語法如“trait ezcReflectionReturnInfo {function getReturnType() {/*1*/}...}”。

本文操作環境:windows7系統、PHP7.1版,DELL G3電腦

1、php中的trait是啥?

  看上去既像類又像接口,其實都不是,Trait可以看做類的部分實現,可以混入一個或多個現有的PHP類中,其作用有兩個:表明類可以做什么;提供模塊化實現。Trait是一種代碼復用技術,為PHP的單繼承限制提供了一套靈活的代碼復用機制。

2、PHP版本要求:

  php5.4開始引入trait,其目的就是在于減少代碼的重復,增加代碼的復用性。

3、trait的使用場景:

  試想這樣一種情況,當有一個方法需要在很多的類中使用時,該怎么處理?

  通常一般的處理方式會是,寫一個基礎類,在基類中實現這個方法,然后所有類都繼承這個基類。

  這是一種處理方法,但不是最好的處理方式。通常采用繼承的情況是:幾個類具有很大的相似性。比如人作為一個基類,學生、工人、等繼承“人”這個基類來擴展。

  由此,trait的作用就出來了,trait 可以在多個類中使用。

4、trait如何使用:

  引用PHP手冊中的例子:

  例子一

<?php
trait ezcReflectionReturnInfo {
    function getReturnType() { /*1*/ }
    function getReturnDescription() { /*2*/ }
}
 
class ezcReflectionMethod extends ReflectionMethod {
    use ezcReflectionReturnInfo;
    /* ... */
}
 
class ezcReflectionFunction extends ReflectionFunction {
    use ezcReflectionReturnInfo;
    /* ... */
}
?>

1、先聲明一個trait;

2、在類中使用use將該trait引入。

  是不是非常簡單(手動逃)?需要注意的是trait的優先級。

5、trait的優先級

  (敲黑板)從基類繼承的成員會被 trait 插入的成員所覆蓋。優先順序是來自當前類的成員覆蓋了 trait 的方法,而 trait 則覆蓋了被繼承的方法。

  優先級:自身方法>trait的方法>繼承的方法(就是這樣子的。)

看例子

<?php
trait HelloWorld {
    public function sayHello() {
        echo 'Hello World!';
    }
}
class TheWorldIsNotEnough {
    use HelloWorld;
    public function sayHello() {
        echo 'Hello Universe!';
    }
}
$o = new TheWorldIsNotEnough();
$o->sayHello();//輸出是 Hello Universe!
?>

還有一點需要注意的是:多個trait的使用。

<?php
trait Hello {
    public function sayHello() {
        echo 'Hello ';
    }
}
 
trait World {
    public function sayWorld() {
        echo 'World';
    }
}
 
class MyHelloWorld {
    use Hello, World;
    public function sayExclamationMark() {
        echo '!';
    }
}
 
$o = new MyHelloWorld();
$o->sayHello();
$o->sayWorld();
$o->sayExclamationMark();
?>

  總結:Trait是一種代碼復用技術,為PHP的單繼承限制提供了一套靈活的代碼復用機制。

PHP開發環境搭建工具有哪些

一、phpStudy,是一個新手入門最常用的開發環境。二、WampServer,WampServer也同樣的也是和phpStudy一樣操作簡單對小白比較友好。三、XAMPP,XAMPP(Apache+MySQL+PHP+PERL)是一個功能強大的建站集成軟件包;四、MAMP,MAMP分為兩種MAMP和MAMP Pro for Mac。五、寶塔面板,寶塔面板是一款服務器管理軟件,支持windows和linux系統。六、UPUPW,UPUPW是目前Windows平臺下最具特色的Web服務器PHP套件。

感謝你能夠認真閱讀完這篇文章,希望小編分享的“php中trait的使用方法”這篇文章對大家有幫助,同時也希望大家多多支持億速云,關注億速云行業資訊頻道,更多相關知識等著你來學習!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

汾西县| 台中市| 泸西县| 大理市| 前郭尔| 泾源县| 龙陵县| 泰州市| 靖边县| 铜陵市| 涪陵区| 三门县| 安仁县| 南开区| 扎鲁特旗| 开平市| 清涧县| 昌平区| 舞阳县| 广元市| 革吉县| 元阳县| 东安县| 肥乡县| 台东县| 青川县| 建宁县| 隆化县| 建水县| 威远县| 潞城市| 龙山县| 任丘市| 珠海市| 淳化县| 柏乡县| 建德市| 宁远县| 泸州市| 八宿县| 莫力|