加入收藏 | 设为首页 | 会员中心 | 我要投稿 温州站长网 (https://www.0577zz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

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

发布时间:2021-12-30 23:29:58 所属栏目: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的内容可以关注其他相关文章。

(编辑:温州站长网)

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

    热点阅读