自從 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