laravel一大特色就是event事件系统。一般首先要listen一个事件,随后fire那个事件,这时执行路径将会调用event handler,返回后继续执行。例如:

Event::listen('user.login',function(\Kidsit\User $user){
    var_dump($user);
});
Route::get('event', function(){
    $user = \Kidsit\User::first();
    \Event::fire('user.login', $user);
    var_dump('fired');
});

 

在上面的代码片段中,首先要listen user.login这个事件,而在/event请求时,首先获取一个user,随后将该$user作为Event::fire函数的参数,立即调用user.login的事件处理函数,

将$user echo出来,再随后返回/event请求处理函数,var_dump('fired').

也就是说event提供了一种"异步"调用的方法,但是最终执行其实还是顺序执行的,好处是,代码组织比较科学合理(即:listener可以放在任何地方)

 

相关文章:

  • 2021-05-28
  • 2021-12-04
  • 2021-09-12
  • 2022-01-06
  • 2021-08-13
猜你喜欢
  • 2021-09-20
  • 2021-07-10
  • 2022-12-23
  • 2022-12-23
  • 2021-07-31
  • 2021-04-14
相关资源
相似解决方案