Laravel 事件提供了简单的观察者模式实现,允许你订阅和监听应用中的事件。
事件和监听都是阻塞式应用,如果耗时的监听和事件,请使用队列操作。
注册事件
'App\Events\SomeEvent' => [ 'App\Listeners\EventListener', ],
'App\Events\CacheEvent' => [ 'App\Listeners\CacheEventListener', ],
生成命令
php artisan event:generate
事件生成app\Events
CacheEvent.php
SomeEvent.php
监听器在app\Listeners
SomeEventListener.php
CacheEventListener.php
事件监听队列
class CacheEventListener implements ShouldQueue
{
...
}
开启启动队列监听
php artisan queue:listen
注册事件
public function boot(DispatcherContract $events)
{
parent::boot($events);
$events->listen('event.hello', function ($param1,$param2) { echo $param1,$param2; });
}
控制器调用
public function index(Request $request)
{
$post=Post::find(1);
print_r($post->toArray());
Event::fire('event.hello',['hello,','world!']);//参数使用数组 return view('index');
}
网友评论