Wie zu verwenden Laravel Ereignisse?
Ich möchte benachrichtigt werden, wenn ein neuer Benutzer sich anmeldet. In meinem controller habe ich ein Ereignis auslösen wie folgt.
Event::fire('myapp.new_user', array($this->data['user']->email));
Wo definiere ich die listener
?
Event::listen('myapp.new_user', function ($uid) {
Message::to("[email protected]")
->from("[email protected]", "My App")
->subject('New User')
->body("new user")
->html(true)
->send();
});
Wie funktioniert das listener
wissen, dass ein event gefeuert?
- Laravel auf Stackexchange area51.stackexchange.com/proposals/46607/...
- Der Vorschlag wurde entfernt.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Müssen Sie sicherstellen, dass Ihre Listener definiert werden, bevor Ihre Anwendung die Logik, die ausgeführt wird, wenn Ereignisse ausgelöst werden, Sie können nur gefangen werden, die von bereits registrierten Listener, ist es nicht für neue.
Auf kleine Projekte, die ich gerade meine Zuhörer in
application/start.php
am unteren Rand der Datei. Diese Datei geschieht, bevor Sie Ihre Routen lief, und es dient als eine Art application-config-Datei mit einigen Logik. Sie müssen diese Ereignisse in Richtung der Unterseite der Datei, zumindest nach dem Autoloader-mappings registriert wurden.Bei Größeren Projekten erstelle ich
application/listeners.php
und benötigen diese Datei inapplication/start.php
für bessere Lesbarkeit.Hoffe, das hilft!
library/listeners.php
aber es didn ' T auftreten zu mir, zu verlangen, es inapplication/start.php
.Können Sie auch Klassen definieren, zum behandeln spezieller Ereignisse und verwenden Sie dann einen Service-Provider zu registrieren.
Unten ist ein einfaches Beispiel:
app/NewUserListener.php
Den listener, der aufgerufen wird, wenn das Ereignis ausgelöst wird:
app/ListenerServiceProvider.php
Die Dienstleister - denken Sie daran, und fügen Sie diese der Liste von Service-Providern in L4-Config.
Wenn Sie organisieren, Hörer usw. in entsprechend benannte Ordner, die es endet als viel einfacher zu pflegen, sollten Sie ein paar der Zuhörer später. Sie können auch instanziieren und testen Sie die Zuhörer, wenn Sie schreiben, dass Sie in dieser Art und Weise.
versuchen :
http://laravel.com/docs/events