Где я могу получить полный список событий 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