我想在新用户注册时收到通知.在我的控制器中,我按如下方式触发事件.
Event::fire('myapp.new_user', array($this->data['user']->email));
Run Code Online (Sandbox Code Playgroud)
我在哪里定义listener?
Event::listen('myapp.new_user', function ($uid) {
Message::to("myemail@example.com")
->from("myemail@example.com", "My App")
->subject('New User')
->body("new user")
->html(true)
->send();
});
Run Code Online (Sandbox Code Playgroud)
怎么listener知道一个事件被解雇了?
Wil*_*ley 26
您需要确保在应用程序逻辑执行之前定义了侦听器,当抛出事件时,它们只能被已注册的侦听器捕获,它不会寻找新的侦听器.
在小项目中,我只是将我的听众放在application/start.php文件的底部.此文件在您的路由运行之前发生,它作为一种应用程序配置文件,具有一些逻辑.您需要将这些事件放在文件的底部,至少在注册Autoloader映射之后.
在较大的项目中,我将创建application/listeners.php并在内部需要此文件application/start.php以提高可读性.
希望这可以帮助!
| 归档时间: |
|
| 查看次数: |
12021 次 |
| 最近记录: |