From f55e82ecce9e11b1da724c41004916205e9f2a57 Mon Sep 17 00:00:00 2001 From: barbosa89 Date: Wed, 5 Nov 2025 17:45:43 -0500 Subject: [PATCH 1/2] feat: implement event loading in EventServiceProvider and add user registered event handler --- src/Events/EventServiceProvider.php | 14 ++++++++++++++ tests/fixtures/application/events/app.php | 10 ++++++++++ 2 files changed, 24 insertions(+) create mode 100644 tests/fixtures/application/events/app.php diff --git a/src/Events/EventServiceProvider.php b/src/Events/EventServiceProvider.php index 07b72665..ad59cea9 100644 --- a/src/Events/EventServiceProvider.php +++ b/src/Events/EventServiceProvider.php @@ -7,6 +7,7 @@ use Phenix\Events\Console\MakeEvent; use Phenix\Events\Console\MakeListener; use Phenix\Events\Contracts\EventEmitter as EventEmitterContract; +use Phenix\Facades\File; use Phenix\Providers\ServiceProvider; class EventServiceProvider extends ServiceProvider @@ -33,5 +34,18 @@ public function boot(): void MakeEvent::class, MakeListener::class, ]); + + $this->loadEvents(); + } + + private function loadEvents(): void + { + $eventPath = base_path('events'); + + if (File::exists($eventPath)) { + foreach (File::listFilesRecursively($eventPath, '.php') as $file) { + require $file; + } + } } } diff --git a/tests/fixtures/application/events/app.php b/tests/fixtures/application/events/app.php new file mode 100644 index 00000000..d61788de --- /dev/null +++ b/tests/fixtures/application/events/app.php @@ -0,0 +1,10 @@ + Date: Wed, 5 Nov 2025 17:58:05 -0500 Subject: [PATCH 2/2] refactor: consolidate register and boot methods in EventServiceProvider --- src/Events/EventServiceProvider.php | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/src/Events/EventServiceProvider.php b/src/Events/EventServiceProvider.php index ad59cea9..ac0ce1c5 100644 --- a/src/Events/EventServiceProvider.php +++ b/src/Events/EventServiceProvider.php @@ -22,14 +22,11 @@ public function provides(string $id): bool return in_array($id, $this->provides); } - public function register(): void + public function boot(): void { $this->getContainer()->addShared(EventEmitter::class, EventEmitter::class); $this->getContainer()->add(EventEmitterContract::class, EventEmitter::class); - } - public function boot(): void - { $this->commands([ MakeEvent::class, MakeListener::class,