本文实例讲述了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 "
";

$people->say();

echo "
";

$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

trait功能 php,PHP之Trait功能与用法实例分析相关推荐

  1. Javascript自定义事件功能与用法实例分析

    原文地址:https://www.jb51.net/article/127776.htm 本文实例讲述了javascript自定义事件功能与用法.分享给大家供大家参考,具体如下: 概述 自定义事件很难 ...

  2. 微信公众号新功能-原创声明、赞赏功能、评论管理、页面模版

    原文:http://www.shichangbu.com/portal.php?mod=view&aid=25931 公众号如何申请这些功能?                          ...

  3. python多功能文本编辑器_多功能文本编辑器(EditPad Pro)

    EditPad Pro 是一款多功能文本编辑器,设计的目标就是在保持程序小巧简洁的同时,提供所有基础编辑功能.EditPad Pro 可以在 Windows 98.Me.NT4.2000.XP.Vis ...

  4. vivo计算机的隐藏功能介绍,vivo手机有哪些隐藏功能?这6个功能实在太好用了,要悄悄用起来...

    不少年轻人在选择手机的时候,会选择vivo手机,为什么vivo手机那么受年轻人的喜欢和欢迎呢?大概是因为vivo手机拥有很多好用的隐藏的功能. 那么vivo手机有哪些隐藏功能呢?别急,今天小编给大家带 ...

  5. PHP中的常见魔术方法功能作用及用法实例

    这篇文章主要介绍了PHP中的常见魔术方法功能作用及用法实例,本文讲解了构造函数和析构函数__construct()和__desctruct()以及属性重载(Property Overloading)_ ...

  6. 与众不同 windows phone (40) - 8.0 媒体: 音乐中心的新增功能, 图片中心的新增功能, 后台音乐播放的新增功能...

    原文:与众不同 windows phone (40) - 8.0 媒体: 音乐中心的新增功能, 图片中心的新增功能, 后台音乐播放的新增功能 [源码下载] 与众不同 windows phone (40 ...

  7. php加水印功能,PHP图片加水印功能

    本篇文章主要介绍PHP图片加水印功能,感兴趣的朋友参考下,希望对大家有所帮助. 实例代码如下:<?php /** * 功能:给一张图片加上水印效果 * $i 要加水印效果的图片 * $t 水印文 ...

  8. DISCUZ开启设计插件功能和显示嵌入点功能

    DISCUZ开启设计插件功能和显示嵌入点功能 找到config文件夹下的config_global.php文件,在最后添加 $_config['plugindeveloper'] = 0; $_con ...

  9. JEPaas代码(SQL功能表)通过SQL功能表进行表查询

    JEPaas代码(SQL功能表)通过SQL功能表进行表查询 1.新建一个表单--添加功能表--在功能表配置信息中///如下: 输入相应的SQL查询语句"(在那之前通过SQLserver查询语 ...

最新文章

  1. 计算机启动过程详解二
  2. 计划任务管理 之 计划任务工具 cron 的配置和说明
  3. linux下nginx部署以及配置详解
  4. csp-c模拟测试「set·read·」
  5. 此上下文中不允许函数定义。_彻底搞懂上下文this,轻松应对,一面就过!!!...
  6. 苹果11如何设置9宫格_iphone九宫格如何设置 iphone九宫格设置方法【详解】
  7. 【李宏毅2020 ML/DL】P106 More about Life Long Learning
  8. BERT时代,向量语义检索我们关注什么?
  9. mybatis写增删改时候的注意点
  10. Baxter实战 (四)ubuntu14.04安装kinect V2
  11. JS—图片压缩上传(单张) 1
  12. 什么是 D视频端子 色差分量接口 RF接口
  13. css自己做条纹背景,用css实现条纹背景
  14. 解决 “error while loading shared libraries: libpng12.so.0: cannotopen shared object file: No such fil
  15. 怎样鉴别台式计算机主板型号,如何识别联想主板型号
  16. 数据库周刊55丨2021年1月数据库排行榜出炉;openGauss荣获“2020年度国产数据库”称号;易鲸捷喜获“金鼎奖”;搭建Mysql MGR高可用集群;openGauss主备部署;AWR分析办法
  17. Word:快速插入水平分隔线
  18. 阿里云企业邮箱标准版/集团版/尊享版区别对比
  19. 电脑键盘注册表已损坏导致无法输入信息的修复方式
  20. 广州十日 --2006/3/15

热门文章

  1. Freemarker模板嵌套
  2. Spring RabbitMQ使用
  3. HIbernate的检索方式
  4. C#之while与do……while语句
  5. linux防火墙 限制端口,Linux开启防火墙并限制开放端口
  6. 【数据结构-图】1.图的构造和遍历(基本理论+代码)
  7. method initializationerror not found:JUnit4单元测试报错问题
  8. python发送邮件拒绝_人生苦短之Python发邮件
  9. 设置Eclipse中的Courier New字体
  10. Docker之tomcat和nginx的部署