Yii2中事件的真实示例

阿米特什·库玛(Amitesh Kumar)

我从yii2 doc了解事件。

我知道它是如何工作的,但是我不知道在开发中该在哪里使用它以及如何使用它。有发送电子邮件通知的示例,但是我想要一个扎实的示例,以阐明在哪里使用以及如何使用它的想法。 。

我的代码在我写的模型下面

const EVENT_NEW_USER = 'new-user';
public function sendMailto($event){
    $this->sendMail(arguments);
   // you code 
}  

在控制器中:

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); 
}
我们看

我在Yii中使用事件来在单个Yii安装(没有分发,单个服务器)中松散耦合消息的发送方和接收方。

我的Yii软件中有用于功能块的Yii模块。客户根据其功能要求获得模块集。这些模块需要相互通信。

例:

  • 在模块1(发送方模块)中,需要将状态更新传达给用户。
  • 模块2(接收器模块)将状态更新发送到twitter。
  • 模块3(接收器模块)通过电子邮件发送状态更新。

为了使发送者模块独立于接收者模块,我使用了Yii事件机制。因此,模块1不需要了解任何有关接收者的信息,而模块2和3则不需要有关发送者的任何信息。只有一个通用的消息结构。

效果很好,并且模块相互独立。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章