风一样的回忆

新浪微薄腾讯微薄

最新碎语:从未遇见一位没亏过钱的富人,却遇见许多从未亏掉一毛钱的穷人

您的位置:风一样的回忆 >php> php新特性 Traits 使用方法

php新特性 Traits 使用方法

使用yii2 进行项目开发时接触到了trait,就学习了一下。

Traits 是自PHP5.4.0之后增加的一个新特性,使PHP实现了代码复用。

Traits 是一种为类似PHP的单继承语言而准备的代码复用机制。Trait为了减少单继承语言的限制,使用开发人员能够自由的在不同层次结构内独立的类集中复用方法集。Traits 和类组合的语义是定义了一种方式来减少复杂性,避免传统多继成和混入类相关的典型问题。

实例:

<?php
trait Mouse {
	public $name = '鼠标';
	public function click()
	{
		echo '鼠标点击了一下';
	}
}
class Computer {
	public function sayName() {
		echo '我是一台电脑';
	}
}

class Macbook extends Computer {
	use Mouse;
	public function say()
	{
		echo '我是一条有逼格的macbook';
	}
}

$model = new Macbook();
$model->say();// 我是一条有逼格的macbook
$model->sayName(); // 我是一台电脑
$model->click(); // 鼠标点击了一下
?>

优先级:

对于trait,优先顺序是来自当前类的成员覆盖了 trait 的方法,而 trait 则覆盖了被继承的方法

trait的优势:

traits 效率高,因为减少了不必要的类继承关系

IDE对trait更友好,因为他们是语言结构

---

转载请注明本文标题和链接:《php新特性 Traits 使用方法

分享到:

发表评论

路人甲 表情
看不清楚?点图切换 Ctrl+Enter快速提交