当前位置:首页 > 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.    
  11. trait B{ 
  12.    
  13.  public function eat(){ 
  14.   echo 'B-eat'; 
  15.  } 
  16.    
  17.  public function say(){ 
  18.   echo 'B-say'; 
  19.  } 
  20. } 
  21.    
  22. class People{ 
  23.  use A,B{ 
  24.   A::eat insteadof B; 
  25.   B::eat as eatbak; 
  26.   B::say insteadof A; 
  27.  } 
  28. } 
  29.    
  30. $people = new People(); 
  31. $people->eat(); 
  32. echo "<br/>"; 
  33. $people->say(); 
  34. echo "<br/>"; 
  35. $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.    
  8. class People { 
  9.  use Test { say as protected; } 
  10. } 
  11.    
  12. $people = new People(); 
  13.    
  14. $people->say();  

运行结果:

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

Tags: Trait

分享到: