这篇文章给大家分享的是有关php中trait功能以及用法的内容。文本有具体实例,感兴趣的朋友可以参考,下面我们就一起来了解一下Trait吧。
 
       Trait 是为类似 PHP 的单继承语言而准备的一种代码复用机制。
 
       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();
 
       运行结果:
 
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();
 
       运行结果:
 
Fatal error: Call to protected method People::say() from context '' in D:\phpdemo\trait_Demo.php on line 14
 
       关于php中trait功能以及用法的介绍,希望以上内容可以对大家有一定的帮助,可以学到更多知识。想要了解更多Trait的内容可以关注其他相关文章。

dawei

【声明】:站长网内容转载自互联网,其相关言论仅代表作者个人观点绝非权威,不代表本站立场。如您发现内容存在版权问题,请提交相关链接至邮箱:bqsm@foxmail.com,我们将及时予以处理。