本文实例讲述了PHP 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.修改访问控制

<?phptrait 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:\phpdemo\trait_Demo.php on line 14

相关学习推荐:PHP编程从入门到精通

更多相关文章

  1. PHP与Web页面交互操作实例解析
  2. 直击PHP array_reverse() 函数原理及实例解析
  3. 探秘PHP number_format函数原理及实例解析
  4. 直击php反射学习之不用new方法实例化类操作
  5. 详解PHP网页缓存技术优点及代码实例
  6. php in_array函数用法(实例)
  7. PHP下ajax跨域的解决方案之window.name实例分析详解
  8. 基于PHP微信网页获取用户信息的实例分析
  9. php array_chunk函数用法介绍(实例)

随机推荐

  1. XmlPullParser类api
  2. 使用远程调试Android设备
  3. instruction-formats.html
  4. [gitbook] Android框架分析系列之Android
  5. Android LinearLayout属性
  6. android中四大组件之间相互通信
  7. 转:listview android:cacheColorHint,andr
  8. Android对话框里面的输入值获取不到,空指
  9. Android统计图表MPAndroidChart
  10. MotionLayout入门