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


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

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

4 23

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