本文實(shí)例講述了PHP Trait功能與用法。分享給大家供大家參考,具體如下:
Trait 是為類似 PHP 的單繼承語言而準(zhǔn)備的一種代碼復(fù)用機(jī)制。
1.如果引入的Trait有同名的方法
trait A{ public function eat(){ echo 'A-eat'; } public function say(){ echo 'A-say'; } } trait B{ public function eat(){ echo 'B-eat'; } public function say(){ echo 'B-say'; } } class People{ use A,B{ A::eat insteadof B; B::eat as eatbak; B::say insteadof A; } } $people = new People(); $people->eat(); echo "<br/>"; $people->say(); echo "<br/>"; $people->eatbak();
運(yùn)行結(jié)果:
A-eat
B-say
B-eat
2.修改訪問控制
<?php trait Test { public function say() { echo 'say hello'; } } class People { use Test { say as protected; } } $people = new People(); $people->say();
運(yùn)行結(jié)果:
Fatal error: Call to protected method People::say() from context '' in D:phpdemotrait_Demo.php on line 14
相關(guān)學(xué)習(xí)推薦:PHP編程從入門到精通