Laravel 5.0 系列 - 快速生成事件
有时候,创建一个事件和针对这个事件的处理器,或者创建一个命令和针对这个命令的处理器,然后将两者结合起来会耗费相当多的精力,所以我在想能不能做一个工作流,将这些繁琐的工作一步搞定?!
Artisan
中生成命令和事件的指令就是一个很好的开始 -- 生成的过程中都会产生一个实体(事件或命令)以及它们对应的处理器(可选)。但是你仍然需要花上一个小时来写这些指令和处理器,然后再花上15分钟苦思冥想为啥总是报错,最后你终于发现你根本没法将生成的实体和处理器结合到一起,实在是太麻烦啦!。
输入 event:generate #
亲爱的读者们~ 我现在要说的是,你那焦虑的等待终于结束啦!在Laravel 5 中你可以在EventServiceProvider
中绑定事件和处理器,然后运行 php artisan event:generate
,Artisan
会自动生成事件和处理器相关的文件。
详细步骤,走你~ #
先看一看之前的事件和处理器的目录结构:
app/
Events/
Event.php
Handlers/
Events/
1) 打开 app/providers/EventServiceProvider.php
. 找到 $listen
属性, 这里是通常绑定事件的地方,按照下面的格式添加一个事件:
protected $listen = [
DidSomethingEvent::class => [
RespondOneWay::class,
RespondAnotherWay::class
]
];
2) 运行 php artisan event:generate
3) 完成。
下面看一看文件目录中多出来的文件.
app/
Events/
Event.php
DidSomethingEvent.php
Handlers/
Events/
RespondOneWay.php
RespondAnotherWay.php
创建,绑定,运行~ 一切搞定!
<?php namespace App\Handlers\Events;
...
class RespondOneWay {
...
public function handle(DidSomethingEvent $event)
{
}
}
有没有简单到不行? #
哈哈,就是这么简单!现在你可以随意地设计你的事件系统 -- 你只需要一个简单的命令,就可以得到你想要的事件以及它的处理器。
原文地址:https://mattstauffer.co/blog/laravel-5.0-generating-missing-events