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 相关文章推荐
Oracle 常见问题解答
Oct 09 PHP
Joomla下利用configuration.php存储简单数据
May 19 PHP
PHPThumb图片处理实例
May 03 PHP
浅析PHP编程中10个最常见的错误
Aug 08 PHP
PHP中shuffle数组值随便排序函数用法
Nov 21 PHP
PHP 魔术变量和魔术函数详解
Feb 25 PHP
php 把数字转换成汉字的代码
Jul 21 PHP
php进行ip地址掩码运算处理的方法
Jul 11 PHP
PHP实现微信支付(jsapi支付)流程步骤详解
Mar 15 PHP
thinkPHP5框架实现基于ajax的分页功能示例
Jun 12 PHP
使用PHPWord生成word文档的方法详解
Jun 06 PHP
PHP与Web页面的交互示例详解二
Aug 04 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
BBS(php &amp; mysql)完整版(四)
2006/10/09 PHP
php自动获取字符串编码函数mb_detect_encoding
2011/05/31 PHP
php版小黄鸡simsimi聊天机器人接口分享
2014/01/26 PHP
php中AES加密解密的例子小结
2014/02/18 PHP
PHP CURL 内存泄露问题解决方法
2015/02/12 PHP
如何在旧的PHP系统中使用PHP 5.3之后的库
2015/12/02 PHP
Yii2框架实现利用mpdf创建pdf文件功能示例
2019/02/08 PHP
PHP利用百度ai实现文本和图片审核
2019/05/08 PHP
Laravel框架控制器的middleware中间件用法分析
2019/09/30 PHP
javascript 控制弹出窗口
2007/04/10 Javascript
YUI 读码日记之 YAHOO.lang.is*
2008/03/22 Javascript
Js 冒泡事件阻止实现代码
2013/01/27 Javascript
解决IE6的PNG透明JS插件使用介绍
2013/04/17 Javascript
javascript正则表达式之search()用法实例
2015/01/19 Javascript
原生JavaScript实现Ajax的方法
2016/04/07 Javascript
JS+CSS3制作炫酷的弹窗效果
2016/11/08 Javascript
nodejs操作mysql实现增删改查的实例
2017/05/28 NodeJs
原生JS实现逼真的图片3D旋转效果详解
2019/02/16 Javascript
微信小程序 网络通信实现详解
2019/07/23 Javascript
JS防抖和节流实例解析
2019/09/24 Javascript
pyqt5简介及安装方法介绍
2018/01/31 Python
Django-Model数据库操作(增删改查、连表结构)详解
2019/07/17 Python
如何在windows下安装Pycham2020软件(方法步骤详解)
2020/05/03 Python
win10从零安装配置pytorch全过程图文详解
2020/05/08 Python
Python HTMLTestRunner测试报告view按钮失效解决方案
2020/05/25 Python
如何使用Pytorch搭建模型
2020/10/26 Python
移动端HTML5 input常见问题(小结)
2020/09/28 HTML / CSS
美国婚礼礼品网站:MyWeddingFavors
2018/09/26 全球购物
美术教师自我鉴定
2014/02/12 职场文书
暑期教师培训方案
2014/06/07 职场文书
上海世博会口号
2014/06/19 职场文书
拾金不昧表扬稿大全
2015/05/05 职场文书
2019年入党思想汇报格式与要求
2019/06/25 职场文书
fastdfs+nginx集群搭建的实现
2021/03/31 Servers
MySQL查询学习之基础查询操作
2021/05/08 MySQL
Win11 vmware不兼容怎么办?Win11与VMware虚拟机不兼容的解决方法
2023/01/09 数码科技