广告:宝塔Linux面板高效运维的服务器管理软件 点击【 https://www.bt.cn/p/uNLv1L 】立即购买
下面由Laravel教程栏目给大家介绍关于Laravel事件系统的运行原理,希望对大家有所帮助!
在 EventServiceProvider 里注册(app/Providers/EventServiceProvider.php)protected $listen = [ Registered::class => [ SendEmailVerificationNotification::class, ], 'App\Events\Test' => [ 'App\Listeners\EventListener', ], ];登录后复制使用命令行来生成事件与监听器
$ php artisan event:generate登录后复制此时将生成两个文件1、App/Events/Test.php(事件)编辑事件
<?phpnamespace App\Events;use App\Models\User;use Illuminate\Broadcasting\Channel;use Illuminate\Broadcasting\InteractsWithSockets;use Illuminate\Broadcasting\PresenceChannel;use Illuminate\Broadcasting\PrivateChannel;use Illuminate\Contracts\Broadcasting\ShouldBroadcast;use Illuminate\Foundation\Events\Dispatchable;use Illuminate\Queue\SerializesModels;class Test{ use Dispatchable, InteractsWithSockets, SerializesModels; /** * Create a new event instance. * * @return void */ public function __construct($id) { echo '触发事件成功!---------'.$id; $this->id = $id; } /** * Get the channels the event should broadcast on. * * @return \Illuminate\Broadcasting\Channel|array */ public function broadcastOn() { return new PrivateChannel('channel-name'); }}登录后复制2、app/Listeners/EmailVerified.php(监听器)编辑监听器
<?phpnamespace App\Listeners;use App\Events\Test;use Illuminate\Contracts\Queue\ShouldQueue;use Illuminate\Queue\InteractsWithQueue;class EventListener{ /** * Create the event listener. * * @return void */ public function __construct() { // } public function handle(Test $event) { echo '监听成功!监听值:'.$event->id; }}登录后复制在控制器中触发事件
public function test1(){ event(new Test('11111111')); return '测试事件系统';}登录后复制常用命令
php artisan event:generatephp artisan make:event UserRegisteredEventphp artisan make:listener SendMailListener --event="UserRegisteredEvent"登录后复制
相关推荐:最新的五个Laravel视频教程
以上就是解析Laravel事件系统的运行原理的详细内容,更多请关注9543建站博客其它相关文章!
发表评论