php之trait 我的筆記

自從 php 5.4 起 實現了一種代碼複用的方式(tarit)php

相似 class  可是用tarit 寫的類 不能被實例化 和繼承。如今來看看他的用法ui

<?php
trait A{
    public function Atest()
    {
        echo "this is trait A";
    }
}

class Tese{
    use A;
}
$testObj = new Tese();

echo $testObj->Atest();
//this is trait A

這裏直接用use 就能夠 至關於 require() this

接下來看看  trait 中方法 的優先級 根據官網手冊提供是  :spa

 

從基類繼承的會被  tarit 的方法覆蓋  tarit的方法會被  本類(Test)中的 方法覆蓋code

同時也支持 多個 tarit  用逗號隔開,eg: use A,B,C;blog

 仍是直接上代碼  耐心看完。。。繼承

<?php
trait A{
    public function Atest(){
        echo "this is trait A".'<br>';
    }
}
class Base{
    public function Atest(){
        echo "this is  baseA".'<br>';
    }
}
class Tese extends Base{
    
    public function Atest(){
        echo "this is class Atest".'<br>';
    }
    use A;
}
$testObj = new Tese();
echo $testObj->Atest();

//this is class Atest
相關文章
相關標籤/搜索