特征比行为更有效,因为行为是兼顾时间和记忆的对象。那么任何人都可以解释我如何在yii2中写出特征吗?
答案 0 :(得分:5)
Trait类似于一个类,但仅用于以细粒度和一致的方式对功能进行分组。无法单独实例化Trait。
<?php
trait Hello {
public function sayHello() {
echo 'Hello ';
}
}
trait World {
public function sayWorld() {
echo 'World';
}
}
class MyHelloWorld {
use Hello, World;
public function sayExclamationMark() {
echo '!';
}
}
$o = new MyHelloWorld();
$o->sayHello();
$o->sayWorld();
$o->sayExclamationMark();
?>
检查出来:
http://www.yiiframework.com/doc-2.0/guide-concept-behaviors.html#comparison-with-traits
行为类与普通类一样,支持继承。另一方面,特征可以被视为语言支持的复制和粘贴。它们不支持继承。