PHP Trait功能与用法实例分析


Posted in PHP onJune 03, 2020

本文实例讲述了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的header和asp中的redirect比较
Oct 09 PHP
用PHPdig打造属于你自己的Google[图文教程]
Feb 14 PHP
在PHP中使用Sockets 从Usenet中获取文件
Jan 10 PHP
php下检测字符串是否是utf8编码的代码
Jun 28 PHP
php中XMLHttpRequest(Ajax)不能设置自定义的Referer的解决方法
Nov 26 PHP
PHP中文分词 自动获取关键词介绍
Nov 13 PHP
php中file_get_contents与curl性能比较分析
Nov 08 PHP
php下Memcached入门实例解析
Jan 05 PHP
抛弃 PHP 代价太高
Apr 26 PHP
PHP缩略图生成和图片水印制作
Jan 07 PHP
php正则提取html图片(img)src地址与任意属性的方法
Feb 08 PHP
PHP文字转图片功能原理与实现方法分析
Aug 31 PHP
PHP时间相关常用函数用法示例
Jun 03 #PHP
ThinkPHP5框架中使用JWT的方法示例
Jun 03 #PHP
Thinkphp5框架异常处理操作实例分析
Jun 03 #PHP
Thinkphp5框架中引入Markdown编辑器操作示例
Jun 03 #PHP
PHP数组基本用法与知识点总结
Jun 02 #PHP
PHP函数用法详解【初始化、嵌套、内置函数等】
Jun 02 #PHP
PHP与Web页面交互操作实例分析
Jun 02 #PHP
You might like
thinkPHP中分页用法实例分析
2015/12/26 PHP
php文件包含的几种方式总结
2019/09/19 PHP
推荐:极酷右键菜单
2006/11/29 Javascript
ie 处理 gif动画 的onload 事件的一个 bug
2007/04/12 Javascript
替代window.event.srcElement效果的可兼容性的函数
2009/12/18 Javascript
jQuery asp.net 用json格式返回自定义对象
2010/04/07 Javascript
JS实现3D图片旋转展示效果代码
2015/09/22 Javascript
JS区分Object与Aarry的六种方法总结
2017/02/27 Javascript
javascript高级模块化require.js的具体使用方法
2017/10/31 Javascript
详解Puppeteer 入门教程
2018/05/09 Javascript
JavaScript中this用法学习笔记
2019/03/17 Javascript
vue 实现搜索的结果页面支持全选与取消全选功能
2019/05/10 Javascript
JS学习笔记之贪吃蛇小游戏demo实例详解
2019/05/29 Javascript
手把手教你 CKEDITOR 4 实现Dialog 内嵌 IFrame操作详解
2019/06/18 Javascript
JavaScript利用键盘码控制div移动
2020/03/19 Javascript
在Python中调用ggplot的三种方法
2015/04/08 Python
Python中处理字符串之endswith()方法的使用简介
2015/05/18 Python
在Python的Django框架中simple-todo工具的简单使用
2015/05/30 Python
Django框架中方法的访问和查找
2015/07/15 Python
Python中的字符串操作和编码Unicode详解
2017/01/18 Python
Python 模拟登陆的两种实现方法
2017/08/10 Python
Django框架的使用教程路由请求响应的方法
2018/07/03 Python
Python判断telnet通不通的实例
2019/01/26 Python
对pyqt5之menu和action的使用详解
2019/06/20 Python
python中树与树的表示知识点总结
2019/09/14 Python
python梯度下降算法的实现
2020/02/24 Python
Python3.7下安装pyqt5的方法步骤(图文)
2020/05/12 Python
Python结合百度语音识别实现实时翻译软件的实现
2021/01/18 Python
函授毕业生自我鉴定
2013/11/06 职场文书
开水果连锁店创业计划书
2013/12/29 职场文书
优秀毕业生推荐信范文
2014/03/07 职场文书
预备党员的自我评价
2014/03/12 职场文书
石油工程专业毕业生求职信
2014/04/13 职场文书
实习生评语
2014/04/26 职场文书
表彰大会策划方案
2014/05/13 职场文书
无私奉献演讲稿
2014/09/04 职场文书