2012-10-25 5 views

Odpowiedz

41

laravel faktycznie nie strzelać jak najwięcej wydarzenia, jak myślisz. Mimo że korzysta z systemu Event, programista może tam używać aplikacji. Tak czy inaczej, oto lista, którą skompilowałem.

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 i 404 są oba zdarzenia błędów związanych. Są one ustawione w pliku routes.php, dzięki czemu można zobaczyć, jaki jest domyślny program nasłuchujący.

Chciałbym podkreślić, że eloquent.{event} ma inną odmianę zawierającą aktualizowaną nazwę klasy.

eloquent.{event}: {classname} 

Nie zamierzam powiedzieć, że to absolutnie wszystko, ale powinno to być co najmniej 99% tego.

+1

Warto zauważyć, że od wersji 5.4 niektóre z powyższych nazw zostały zmienione lub usunięte. Szukałem czegoś podobnego do zdarzenia 'laravel.done', ale starałem się znaleźć jakąkolwiek dokumentację. Polecam po prostu wysłuchiwanie wszystkich wydarzeń z '*' i rejestrowanie instancji przekaźnika zdarzeń przekazywanego, aby poczuć, co jest dostępne. – Bower

3

Oto kilka z nich więcej, dostał je podczas dumping static::$events

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

Naprawdę nie jestem pewien, czy nadrzędne nich będzie działać, ponieważ są one wewnętrznie nazywa

+0

Można je faktycznie wysłuchać i zdefiniować własne ładowarki niestandardowe. To jest świetne, jeśli chcesz kaskadowy system ładujący dla plików konfiguracyjnych/widokowych/językowych. Zrobiłem to od czasu do czasu. –

18

Oprócz Jason Lewis odpowiedź, mam niewiele więcej do dodania. Po prostu szukałem funkcji fire() i otrzymałem następującą listę dla 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)); 
+0

Iluminuj \ Mail \ Events \ MessageSending –

Powiązane problemy