Подтвердить что ты не робот

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

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

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

4b9b3361

Ответ 1

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

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%.

Ответ 2

В дополнение к ответу Джейсона Льюиса, мне нужно добавить еще немного. Я просто искал функцию 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));

Ответ 3

Вот некоторые из них больше, получили их при сбрасывании static::$events

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

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