PHP多继承实现--Traits
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了PHP多继承实现--Traits相关的知识,希望对你有一定的参考价值。
---恢复内容开始---
php 5.4.0 开始,PHP 实现了代码复用的一个方法,称为 traits。
Traits 是PHP中一种类似多继承的方法。Trait 为了减少单继承语言的限制,使开发人员能够自由地在不同层次结构内独立的类中复用方法集。Traits 和类组合的语义是定义了一种方式来减少复杂性,避免传统多继承和混入类相关的典型问题。
Trait 和一个类相似,但仅仅旨在用细粒度和一致的方式来组合功能。Trait 不能通过它自身来实例化。它为传统继承增加了水平特性的组合;
我理解的是 Trait 就是一个不需要继承,可以复用的类。
Trait 的两个简单用例
Trait 的使用
<?php class Base { public function Hello() { echo ‘Hello ‘; } } trait Word{ public function hello() { parent::Hello(); echo ‘World!‘; } } class HelloWord extends Base { use World; } $o = new HelloWord (); $o->Hello(); ?>
在Traits里面调用Traits
trait Hello { public function Hello() { echo ‘Hello ‘; } } trait World { public function World() { echo ‘World!‘; } } trait HelloWorld { use Hello, World; } class base { use HelloWorld; } $o = new base(); $o->Hello(); $o->World();
参考地址:
http://www.php.net/manual/zh/language.oop5.traits.php
---恢复内容结束---
以上是关于PHP多继承实现--Traits的主要内容,如果未能解决你的问题,请参考以下文章