欧美一区二区三区老妇人-欧美做爰猛烈大尺度电-99久久夜色精品国产亚洲a-亚洲福利视频一区二区

實例介紹PHP實現(xiàn)多繼承的trait語法

這篇文章主要為大家詳細介紹了PHP實現(xiàn)多繼承的trait語法,文中示例代碼介紹的非常詳細,零基礎也能參考此文章,感興趣的小伙伴們可以參考一下。

我們提供的服務有:成都做網(wǎng)站、網(wǎng)站建設、微信公眾號開發(fā)、網(wǎng)站優(yōu)化、網(wǎng)站認證、旬陽ssl等。為上千多家企事業(yè)單位解決了網(wǎng)站和推廣的問題。提供周到的售前咨詢和貼心的售后服務,是有科學管理、有技術的旬陽網(wǎng)站制作公司

PHP沒有多繼承的特性。即使是一門支持多繼承的編程語言,我們也很少會使用這個特性。在大多數(shù)人看來,多繼承不是一種好的設計方法。

但是開發(fā)中用到多繼承該怎么辦呢?
下面介紹一下使用"trait"來實現(xiàn)php中多繼承的問題。

自PHP5.4開始,php實現(xiàn)了代碼復用的方法"trait"語法。

Trait是為PHP的單繼承語言而準備的一種代碼復用機制。為了減少單繼承的限制,是開發(fā)在不同結構層次上去復用method,
Trait 和 Class 組合的語義定義了一種減少復雜性的方式,避免傳統(tǒng)多繼承和 Mixin 類相關典型問題。

需要注意的是,從基類繼承的成員會被 trait 插入的成員所覆蓋。優(yōu)先順序是來自當前類的成員覆蓋了 trait 的方法,而 trait 則覆蓋了被繼承的方法。

先來個例子:

trait TestOne{
    public function test()
    {
        echo "This is trait one <br/>";
    }
}
trait TestTwo{
    public function test()
    {
        echo "This is trait two <br/>";
    }
    public function testTwoDemo()
    {
        echo "This is trait two_1";
    }
}
class BasicTest{
    public function test(){
        echo "hello world\n";
    }
}
class MyCode extends BasicTest{
    //如果單純的直接引入,兩個類中出現(xiàn)相同的方法php會報出錯
    //Trait method test has not been applied, because there are collisions with other trait 
    //methods on MyCode 
    //use TestOne,TestTwo;
    //怎么處理上面所出現(xiàn)的錯誤呢,我們只需使用insteadof關鍵字來解決方法的沖突
    use TestOne,TestTwo{
        TestTwo::test insteadof TestOne;
    }
}
$test = new MyCode();
$test->test();
$test->testTwoDemo();

運行結果:

This is trait two 
This is trait two_1

以上就是PHP實現(xiàn)多繼承的trait語法的內(nèi)容,代碼詳細清楚,如果在日常工作遇到這個問題,希望你能通過這篇文章解決問題。如果想了解更多相關內(nèi)容,歡迎關注創(chuàng)新互聯(lián)行業(yè)資訊頻道!

當前題目:實例介紹PHP實現(xiàn)多繼承的trait語法
網(wǎng)頁網(wǎng)址:http://www.chinadenli.net/article18/ieodgp.html

成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站收錄網(wǎng)站策劃云服務器用戶體驗搜索引擎優(yōu)化軟件開發(fā)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

h5響應式網(wǎng)站建設