冲突的解决

如果两个 trait 都插入了一个同名的方法,如果没有明确解决冲突将会产生一个致命错误。

为了解决多个 trait 在同一个类中的命名冲突,需要使用 insteadof 操作符来明确指定使用冲突方法中的哪一个。

以上方式仅允许排除掉其它方法,as 操作符可以 为某个方法引入别名。 注意,as 操作符不会对方法进行重命名,也不会影响其方法。

Example #5 冲突的解决

在本例中 Talker 使用了 trait A 和 B。由于 A 和 B 有冲突的方法,其定义了使用 trait B 中的 smallTalk 以及 trait A 中的 bigTalk。

Aliased_Talker 使用了 as 操作符来定义了 talk 来作为 B 的 bigTalk 的别名。

<?php
trait A {public function smallTalk() {echo 'a';}public function bigTalk() {echo 'A';}
}trait B {public function smallTalk() {echo 'b';}public function bigTalk() {echo 'B';}
}class Talker {use A, B {B::smallTalk insteadof A;A::bigTalk insteadof B;}
}class Aliased_Talker {use A, B {B::smallTalk insteadof A;A::bigTalk insteadof B;B::bigTalk as talk;}
}
?>

php trait 冲突的解决 insteadof相关推荐

  1. 【转】PHP之Trait详解 以及 trait 冲突的解决 insteadof

    PHP之Trait学习!! (转)PHP之Trait详解 (转)trait 冲突的解决 insteadof

  2. element-ui和semantic-ui冲突的解决方法--局部引入semantic-ui的css

    element-ui和semantic-ui冲突的解决方法--局部引入semantic-ui的css 参考文章: (1)element-ui和semantic-ui冲突的解决方法--局部引入seman ...

  3. 我爱Java系列---【 maven依赖版本冲突的解决方法】

    我爱Java系列---[ maven依赖版本冲突的解决方法] 参考文章: (1)我爱Java系列---[ maven依赖版本冲突的解决方法] (2)https://www.cnblogs.com/hu ...

  4. Intellij+maven:jar包冲突的解决方法(Hbase和Guava的冲突)

    Intellij+maven:jar包冲突的解决方法(Hbase和Guava的冲突) 参考文章: (1)Intellij+maven:jar包冲突的解决方法(Hbase和Guava的冲突) (2)ht ...

  5. github上的版本和本地版本冲突的解决方法(Updates were rejected because the tip of your current branch is behind)

    github上的版本和本地版本冲突的解决方法(Updates were rejected because the tip of your current branch is behind) 参考文章: ...

  6. ios 静态库冲突的解决办法

    参考:http://www.cnblogs.com/machao/p/5288460.html ios 静态库冲突的解决办法 最近在做一个 iOS 的 cocos2d-x 项目接入新浪微博 SDK 的 ...

  7. Git冲突与解决方法【转】

    本文转载自:https://www.cnblogs.com/gavincoder/p/9071959.html Git冲突与解决方法 1.git冲突的场景 情景一:多个分支代码合并到一个分支时: 情景 ...

  8. git与eclipse集成之代码冲突与解决

    1.1. 代码冲突与解决 目前使用git管理代码,产生冲突的原因,主要是当多个人向特性分支提交代码时,如果两个人修改了同一个文件,第二个人提交代码时就可能会冲突. 举例说明: 创建远程特性分支.远程个 ...

  9. Algorithms_算法专项_Hash算法的原理哈希冲突的解决办法

    文章目录 引导案例 案例一 案例二 hash表(散列表) 哈希函数(散列函数) 哈希碰撞( 哈希冲突 ) 如何解决hash冲突(hash碰撞) 开放寻址 线性探测(LP) 二次探测 (平方探测 QP) ...

  10. 最好的电脑系统_热键被占用怎么办?电脑系统 程序 游戏热键被占用冲突如何解决?...

    最近有位朋友在使用电脑的时候,遇到了热键被占用的问题,不知道怎么去解决.其实,Windows系统程序 软件热键被占用的情况,通常是因为同一个热键,被不同的程序使用,无法兼容,产生冲突.下面就来看看电脑 ...

最新文章

  1. 是谁卖了我的信息资料?
  2. 使用电脑一定得有良好的习惯呀!
  3. 切面是异步还是同步操作‘_Autofac的AOP面向切面编程研究
  4. 奇怪的问题,疑惑?不用的 User agent 居然gzip不一样?
  5. IE8不兼容你的网页 怎么办? - 简单开启兼容模式
  6. SQL Server:SQL Like 通配符特殊用法:Escape
  7. mysql 学习笔记13 查询语句强化
  8. 【转】刨根究底正则表达式(1):开篇
  9. *08TensorFlow2.0基础--8.3维度变换
  10. 第一次作业+105032014142
  11. 【经典算法题】排列序列
  12. Nginx 集群和IP反向代理
  13. python中stack.stack_Python stack
  14. 笔记本电脑如何同时上内外网(通过usb外接网卡实现虚拟机连外网)
  15. 我记得你往日的样子----聂鲁达
  16. 0. DRF之软件开发模式CBV源码解析
  17. 英文人名及含意(转)
  18. python 交易日_使用python和tushare股票交易日历数据,判断节假日周末休市
  19. ios开发动物园管理 继承多态的实现
  20. php fpm ts nts,如何判断PHP 是ts还是nts版的?

热门文章

  1. 5-IP地址、端口、DNS服务器
  2. 计算机主要主机的组成部分包括什么作用,电脑的组成及其作用各是什么
  3. 用增广矩阵的秩判断N线性方程的解的个数
  4. 输出200以内的素数
  5. MySQL获取汉字的拼音首字母
  6. 如何看懂计算机英文文档,如何看英文技术文档
  7. 新东方的负载均衡架构探索和实践
  8. lisp求面与面的差集_图形的并交差集
  9. FatMouse believes that the fatter a mouse is, the faster it runs.
  10. 【杂谈】为了子孙后代,请不要逃离大城市或者龟缩在三四线小城市