laravel事件

2019-12-18  本文已影响0人  kasterSH

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');

}

上一篇 下一篇

猜你喜欢

热点阅读