博客列表 >看看fireCustomModelEvent的源码

看看fireCustomModelEvent的源码

php开发大牛
php开发大牛原创
2018年04月20日 14:37:20696浏览

protected function fireCustomModelEvent($event, $method)
{
 if (! isset($this->events[$event])) {
  return;
 }

 $result = static::$dispatcher->$method(new $this->events[$event]($this));
 if (! is_null($result)) {
  return $result;
 }
}

这个就是用来触发我们通过$events定义的事件了,假如我们这么定义:

class User extends Model{
protected $events = [
 'saved' => UserSaved::class
]
}

那这里的触发就是:

$result = static::$dispatcher->fire(new UserSaved($this));

顺带一提,Laravel中触发事件的方法有两个,一个是常用的fire,还有一个是util,这两个的差别就是fire会把监听器的返回值返回,而util永远返回null


声明:本文内容转载自脚本之家,由网友自发贡献,版权归原作者所有,如您发现涉嫌抄袭侵权,请联系admin@php.cn 核实处理。
全部评论
文明上网理性发言,请遵守新闻评论服务协议