加入收藏 | 设为首页 | 会员中心 | 我要投稿 PHP编程网 - 黄冈站长网 (http://www.0713zz.com/)- 数据应用、建站、人体识别、智能机器人、语音技术!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

PHP中Trait功能是什么?如何运用?

发布时间:2021-12-31 17:53:42 所属栏目:PHP教程 来源:互联网
导读:这篇文章给大家分享的是有关php中trait功能以及用法的内容。文本有具体实例,感兴趣的朋友可以参考,下面我们就一起来了解一下Trait吧。 Trait 是为类似 PHP 的单继承语言而准备的一种代码复用机制。 1.如果引入的Trait有同名的方法 trait A{ public functi
这篇文章给大家分享的是有关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:phpdemotrait_Demo.php on line 14
 
       关于php中trait功能以及用法的介绍,希望以上内容可以对大家有一定的帮助,可以学到更多知识。想要了解更多Trait的内容可以关注其他相关文章。

(编辑:PHP编程网 - 黄冈站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    热点阅读