Create New Item
Item Type
File
Folder
Item Name
Search file in folder and subfolders...
Are you sure want to rename?
File Manager
/
vendor
/
laravel
/
framework
/
src
/
Illuminate
/
Notifications
/
Messages
:
EventCacheCommand.php
Advanced Search
Upload
New Item
Settings
Back
Back Up
Advanced Editor
Save
<?php namespace Illuminate\Foundation\Console; use Illuminate\Console\Command; use Illuminate\Foundation\Support\Providers\EventServiceProvider; use Symfony\Component\Console\Attribute\AsCommand; #[AsCommand(name: 'event:cache')] class EventCacheCommand extends Command { /** * The name and signature of the console command. * * @var string */ protected $signature = 'event:cache'; /** * The console command description. * * @var string */ protected $description = "Discover and cache the application's events and listeners"; /** * Execute the console command. * * @return mixed */ public function handle() { $this->callSilent('event:clear'); file_put_contents( $this->laravel->getCachedEventsPath(), '<?php return '.var_export($this->getEvents(), true).';' ); $this->components->info('Events cached successfully.'); } /** * Get all of the events and listeners configured for the application. * * @return array */ protected function getEvents() { $events = []; foreach ($this->laravel->getProviders(EventServiceProvider::class) as $provider) { $providerEvents = array_merge_recursive($provider->shouldDiscoverEvents() ? $provider->discoverEvents() : [], $provider->listens()); $events[get_class($provider)] = $providerEvents; } return $events; } }