我从yii2 doc中了解了一些事件.
我知道它是如何工作的,但我不知道在哪里使用它以及如何在我的开发中使用它.有一个发送电子邮件通知的例子,但我想要一个明确的例子,清楚这个想法在哪里使用以及如何使用它.
我的代码在我写的模型下面
const EVENT_NEW_USER = 'new-user';
public function sendMailto($event){
$this->sendMail(arguments);
// you code
}
Run Code Online (Sandbox Code Playgroud)
在控制器中:
use yii\base\Component;
use yii\base\Event;
public function someaction (){
$model->on(SignUpForm::EVENT_NEW_USER, [$model,'sendMailto'],['auth'=>$model_auth,'user_details'=>$user_details]);
$model->trigger(SignUpForm::EVENT_NEW_USER);
}
Run Code Online (Sandbox Code Playgroud)
我在 Yii 中使用事件来松散耦合单个 Yii 安装中的消息发送者和接收者(无分发,单个服务器)。
在我的 Yii 软件中,有用于功能块的 Yii 模块。客户根据其功能需求获得模块集。这些模块需要相互通信。
例子:
为了使发送模块独立于接收模块,我使用 Yii 事件机制。因此,模块 1 不需要了解有关接收方的任何信息,模块 2 和 3 不需要了解有关发送方的任何信息。只有一个通用的消息结构。
这工作得很好,并且模块是相互独立的。
| 归档时间: |
|
| 查看次数: |
3844 次 |
| 最近记录: |