加入收藏 | 设为首页 | 会员中心 | 我要投稿 应用网_丽江站长网 (http://www.0888zz.com/)- 科技、建站、数据工具、云上网络、机器学习!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

PHP之Trait功能与用法实例详解

发布时间:2022-07-21 14:31:09 所属栏目:PHP教程 来源:互联网
导读:本文实例讲述了PHP Trait功能与用法。分享给大家供大家参考,具体如下: Trait 是为类似 PHP 的单继承语言而准备的一种代码复用机制。 1.如果引入的Trait有同名的方法 trait A{ public function eat(){ echo A-eat; } public function say(){ echo A-say; pu
    本文实例讲述了PHP Trait功能与用法。分享给大家供大家参考,具体如下:
 
    Trait 是为类似 PHP 的单继承语言而准备的一种代码复用机制。
 
    1.如果引入的Trait有同名的方法
 
  
    trait A{
 
     public function eat(){
 
      echo 'A-eat';
 
     }
 
      
 
     public function say(){
 
      echo 'A-say';
 
  
     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.修改访问控制
 
  
    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

(编辑:应用网_丽江站长网)

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

    热点阅读