当前位置:首页 > PHP教程 > php应用 > 列表

PHP Trait功能与用法实例分析

发布:smiling 来源: PHP粉丝网  添加日期:2022-03-12 13:40:31 浏览: 评论:0 

本文实例讲述了PHP Trait功能与用法,分享给大家供大家参考,具体如下:

Trait 是为类似 PHP 的单继承语言而准备的一种代码复用机制。

1.如果引入的Trait有同名的方法

  1. trait A{ 
  2.  public function eat(){ 
  3.   echo 'A-eat'
  4.  } 
  5.    
  6.  public function say(){ 
  7.   echo 'A-say'
  8.  } 
  9.    
  10. trait B{ 
  11.    
  12.  public function eat(){ 
  13.   echo 'B-eat'
  14.  } 
  15.    
  16.  public function say(){ 
  17.   echo 'B-say'
  18.  } 
  19.    
  20. class People{ 
  21.  use A,B{ 
  22.   A::eat insteadof B; 
  23.   B::eat as eatbak; 
  24.   B::say insteadof A; 
  25.  } 
  26.    
  27. $people = new People(); 
  28. $people->eat(); 
  29. echo "<br/>"
  30. $people->say(); 
  31. echo "<br/>"
  32. $people->eatbak(); 

运行结果:

A-eat

B-say

B-eat

2.修改访问控制

  1. <?php 
  2. trait Test { 
  3.  public function say() { 
  4.   echo 'say hello'
  5.  } 
  6.    
  7. class People { 
  8.  use Test { say as protected; } 
  9.    
  10. $people = new People(); 
  11.    
  12. $people->say();  

运行结果:

Fatal error: Call to protected method People::say() from context '' in D:\phpdemo\trait_Demo.php on line 14

Tags: Trait

分享到: