oldtimeguitarguy/laravel-event-subscriber

这使得您的订阅者事件变得更加简洁

v1.1.2 2016-07-19 18:01 UTC

This package is not auto-updated.

Last update: 2024-09-14 19:25:39 UTC


README

安装

  1. composer require oldtimeguitarguy/laravel-event-subscriber
  2. OldTimeGuitarGuy\LaravelEventSubscriber\EventSubscriberProvider::class, 添加到 config/app.php 文件中的 providers 数组
  3. 运行 php artisan vendor:publish 将配置文件复制到 config/event_subscriber.php

用法

  1. 使用 php artisan make:event-subscriber SubscriberName 创建订阅者
  2. config/event_subscriber.php 中添加自定义事件类

描述

这个的基础思想来源于这里

我喜欢这个想法,但我不喜欢你必须定义那个 subscribe 方法。

这个类解决了这个问题。

基本上,创建你的事件订阅者类就像文档中说的那样,但现在,如果你从这个类扩展,你永远不需要写 subscribe 方法。

相反,只需将所有事件名称以 on 作为公开方法的前缀。

所以你会这样做

class MyEventSubscriber extends EventSubscriber
{
    public function onUserLogin($event)
    {
        // do stuff
    }

    public function onUserLogout($event)
    {
        // do stuff
    }
}

就这些。有一些注意事项

  1. 它会在 Laravel 的 app/Events 目录中查找事件。(或你在配置文件中添加到 classmap 的任何类)
  2. app/Events/ 下最多只能有一个子目录。
  3. 注意名称冲突,即使事件类存在于 app/Events 下不同的子目录中