Где я могу получить полный список событий Laravel (запущенных основными библиотеками)?

Я хочу знать, какие события запускаются библиотеками Laravel core. Я хочу получить полный список, например laravel.query и laravel.done.

есть четыре события, перечисленные в официальные документы, но я думаю, что Laravel имеет больше событий, чем эти четыре!

4 ответов


Laravel на самом деле не так много событий, как вы думаете. Хотя он использует систему событий, она существует для разработчиков, чтобы использовать ее в приложениях. В общем, вот список, который я составил.

laravel.done
laravel.log
laravel.query
laravel.resolving
laravel.composing: {viewname}
laravel.started: {bundlename}
laravel.controller.factory
laravel.config.loader
laravel.language.loader
laravel.view.loader
laravel.view.engine

view.filter

eloquent.saving
eloquent.updated
eloquent.created
eloquent.saved
eloquent.deleting
eloquent.deleted
eloquent.booted: {$model}
eloquent.booting: {$model}


500
404

на 500 и 404 оба события, связанные с ошибкой. Они установлены в routes.php файл, чтобы вы могли видеть, что такое прослушиватель по умолчанию.

Я хотел бы отметить, что eloquent.{event} есть еще один вариант, содержащий имя класса, который находится усовершенствованный.

eloquent.{event}: {classname}

Я не собираюсь говорить, что это абсолютно все, но это должно быть по крайней мере 99%.


в дополнение к Джейсону Льюису ответ, у меня есть еще несколько, чтобы добавить. Я просто искал fire() функция и придумал следующий список для Laravel 5,

$this->events->fire('auth.attempt', $payload);
$this->events->fire('auth.login', [$user, $remember]);
$this->events->fire('auth.logout', [$user]);
$this->events->fire('cache.'.$event, $payload);
$this->laravel['events']->fire('cache:clearing', [$storeName]);
$this->laravel['events']->fire('cache:cleared', [$storeName]);
$events->fire('artisan.start', [$this]);
$this->events->fire('illuminate.query', array($query, $bindings, $time, $this->getName()));
$this->events->fire('connection.'.$this->getName().'.'.$event, $this);
$this['events']->fire('bootstrapping: '.$bootstrapper, [$this]);
$this['events']->fire('bootstrapped: '.$bootstrapper, [$this]);
$this['events']->fire('locale.changed', array($locale));
$this['events']->fire($class = get_class($provider), array($provider));  //after provider registered.
$this->app['events']->fire('kernel.handled', [$request, $response]);
$this->dispatcher->fire('illuminate.log', compact('level', 'message', 'context'));
$this->events->fire('mailer.sending', array($message));
$this->events->fire('illuminate.queue.failed', array($connection, $job, $data));
$this->events->fire('illuminate.queue.stopping');
$this->events->fire('router.matched', [$route, $request]);
$this->events->fire('composing: '.$view->getName(), array($view));
$this->events->fire('creating: '.$view->getName(), array($view));

вот несколько из них больше, у них во время сброса static::$events

laravel.config.loader
laravel.view.loader
laravel.language.loader
laravel.view.engine
404

не совсем уверен, что переопределение этих будет работать, так как они внутренне называются


для тех, кто ищет список событий Laravel 4, Вы можете проверить список jasonlewis в http://jasonlewis.me/article/laravel-events