PHP Trait功能与用法实例分析

 更新时间:2020年06月03日 11:23:05   作者:huangyuxin_  
这篇文章主要介绍了PHP Trait功能与用法,结合实例形式分析了PHP Trait基本功能、用法及相关操作注意事项,需要的朋友可以参考下

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

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

更多关于PHP相关内容感兴趣的读者可查看本站专题:《php面向对象程序设计入门教程》、《PHP数组(Array)操作技巧大全》、《PHP基本语法入门教程》、《php字符串(string)用法总结》、《php+mysql数据库操作入门教程》及《php常见数据库操作技巧汇总

希望本文所述对大家PHP程序设计有所帮助。

相关文章

  • php实现留言板功能(会话控制)

    php实现留言板功能(会话控制)

    这篇文章主要为大家详细介绍了php实现留言板功能,会话控制的案例,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-05-05
  • PHP7 安装event扩展的实现方法

    PHP7 安装event扩展的实现方法

    这篇文章主要介绍了PHP7 安装event扩展的实现方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-10-10
  • Laravel统一错误处理为JSON的方法介绍

    Laravel统一错误处理为JSON的方法介绍

    这篇文章主要给大家介绍了关于Laravel统一错误处理为JSON的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-10-10
  • PHP5中GD库生成图形验证码(有汉字)

    PHP5中GD库生成图形验证码(有汉字)

    本文为大家介绍下利用PHP5中GD库生成图形验证码而且带有汉字,具体的实现思路及代码如下,有需求的朋友可以参考下,希望对大家学习php有所帮助
    2013-07-07
  • ThinkPHP实现转换数据库查询结果数据到对应类型的方法

    ThinkPHP实现转换数据库查询结果数据到对应类型的方法

    这篇文章主要介绍了ThinkPHP实现转换数据库查询结果数据到对应类型的方法,涉及thinkPHP模型类操作及针对源码文件的相关修改方法,需要的朋友可以参考下
    2017-11-11
  • Yii使用find findAll查找出指定字段的实现方法

    Yii使用find findAll查找出指定字段的实现方法

    这篇文章主要介绍了Yii使用find findAll查找出指定字段的实现方法,非常实用的技巧,需要的朋友可以参考下
    2014-09-09
  • 基于PHP静态类的原罪详解

    基于PHP静态类的原罪详解

    本篇文章对PHP静态类的原罪进行了详细的介绍,需要的朋友参考下
    2013-05-05
  • php-fpm添加service服务的例子

    php-fpm添加service服务的例子

    这篇文章主要介绍了php-fpm添加service服务的例子,需要的朋友可以参考下
    2018-04-04
  • PHP实现下载远程图片保存到本地的方法

    PHP实现下载远程图片保存到本地的方法

    本篇文章主要介绍了PHP实现下载远程图片的方法,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-06-06
  • 分享PHP-pcntl 实现多进程代码

    分享PHP-pcntl 实现多进程代码

    PHP可通过PCNTL扩展实现进程控制,如进程创建,信号处理,进程中断判断等。但只能在CLI模式下操作。PCNTL的信号机制是基于 ticks 机制实现的。
    2016-09-09

最新评论