Laravel 事件
导读:常用命令#显示系统注册的事件和监听器的列表 php artisan event:list生成事件和监听器一、 手动生成单个事件和监听器 php artisan make:event PublishArticlesEventphp artis...
常用命令
#显示系统注册的事件和监听器的列表
php artisan event:list
生成事件和监听器
一、 手动
生成单个事件和监听器
php artisan make:event PublishArticlesEvent
php artisan make:listener PublishArticlesListener --event=PublishArticlesEvent
2.手动注册注册事件和监听器
root@php-fpm:/var/www/laravel-demo# cat app/Providers/EventServiceProvider.php /**
系统中的事件和监听器的对应关系。
@var array */ protected $listen = [ PublishArticlesEvent::class => [ PublishArticlesListener::class, ], ];
二、自动
生成 EventServiceProvider
中列出的、尚不存在的任何事件或侦听器
如下,PublishArticlesEvent
和PublishArticlesListener
是不存在的
root@php-fpm:/var/www/laravel-demo# cat app/Providers/EventServiceProvider.php
?php
namespace App\Providers;
use App\Events\PublishArticlesEvent;
use App\Listeners\PublishArticlesListener;
class EventServiceProvider extends ServiceProvider
{
protected $listen = [
PublishArticlesEvent::class =>
[
PublishArticlesListener::class,
],
];
}
执行
php artisan event:generate
执行成功会自动创建app/Events/PublishArticlesEvent.php
和app/Listeners/PublishArticlesListener.php
然后再修改一下
vi app/Events/PublishArticlesEvent.php
class PublishArticlesEvent
{
use Dispatchable, InteractsWithSockets, SerializesModels;
public Article $article;
public function __construct(Article $article)
{
$this->
article=$article;
}
}
vi app/Listeners/PublishArticlesListener.php
class PublishArticlesListener
{
public function __construct()
{
//
}
public function handle(PublishArticlesEvent $event)
{
Log::info("article..");
Log::info($event->
article);
}
调度事件
即触发事件,在web应用的控制器中,或控制台命令中都可以调用
$article=Article::query()->
first();
//调度事件
PublishArticlesEvent::dispatch($article);
声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: Laravel 事件
本文地址: https://pptw.com/jishu/138.html