oldtimeguitarguy / laravel-event-subscriber
This makes your event subscribers a little cleaner
v1.1.2
2016-07-19 18:01 UTC
This package is not auto-updated.
Last update: 2024-11-23 20:20:47 UTC
README
Installation
composer require oldtimeguitarguy/laravel-event-subscriber
- Add
OldTimeGuitarGuy\LaravelEventSubscriber\EventSubscriberProvider::class,
to the providers array inconfig/app.php
- Run
php artisan vendor:publish
to copy the config file toconfig/event_subscriber.php
Usage
- Create subscribers with
php artisan make:event-subscriber SubscriberName
- Add custom event classes in
config/event_subscriber.php
Description
The basic premise of this evolved from here.
I love the idea, but I don't like how you have to define that subscribe
method.
This class eliminates that.
Basically create your event subscriber class just like the documentation says,
but now, if you extend from this class, you never have to write the subscribe
method.
Instead, just prefix all of your event names with on
as public methods.
So you would do something like this:
class MyEventSubscriber extends EventSubscriber { public function onUserLogin($event) { // do stuff } public function onUserLogout($event) { // do stuff } }
That's it. There are a couple of caveats:
- It looks for the events in Laravel's
app/Events
directory. (or any class you add to the classmap in the config file) - You can have a maximum of one subdirectory under
app/Events/
- Be careful about name collisions, even if the event classes exist in different subdirectories under
app/Events