行为
行为是 yii\base\Behavior 或其子类的实例。 行为,也称为 mixins, 可以无须改变类继承关系即可增强一个已有的 组件 类功能。 当行为附加到组件后,它将“注入”它的方法和属性到组件, 然后可以像访问组件内定义的方法和属性一样访问它们。 此外,行为通过组件能响应被触发的事件,从而自定义或调整组件正常执行的代码。要定义行为,通过继承 yii\base\Behavior 或其子类来建立一个类。
示例代码如下(基于Yii2.0):
行为类:
<?php namespace common\services; use common\services\UserService; use Yii; use yii\base\Behavior; class BehaviorService extends Behavior { /** * 响应对应组件的事件触发 * @return string[] */ public function events() { return [ UserService::EVENT_SEND_EMAIL => 'sendEmail', ]; } /** * 发送邮件 */ public function sendEmail() { echo 'do send email'; } /** * 获取地址 */ public function getAddress() { echo 'get user address'; } } 用户类:
<?php namespace common\services; use common\serv