Lasst uns gemeinsam etwas über Ereignisse und Beobachter in Laravel lernen!
In der folgenden Kolumne werden die Ereignisse und Beobachter in Laravel aus der Kolumne Laravel-Tutorial vorgestellt. Ich hoffe, dass sie für Freunde in Not hilfreich ist!
1: Ereignisse und Zuhörer
Ereignis ist ein relativ weit gefasster Begriff, er kann eine durchgeführte Aktion darstellen. Was zusammen mit dem Ereignis erscheint, ist der Listener, der verwendet wird, um zu überwachen, was Sie tun, und um eine anschließende Verarbeitung Ihres Verhaltens durchzuführen.
Das Ereignissystem bietet eine hervorragende Möglichkeit, verschiedene Aspekte der Anwendung zu entkoppeln, da ein einzelnes Ereignis mehrere voneinander unabhängige Listener haben kann. Beispielsweise möchten Sie dem Benutzer möglicherweise jedes Mal eine Benachrichtigung senden, wenn eine Bestellung versandt wird. Anstatt den Auftragsverarbeitungscode an den Benachrichtigungscode zu koppeln, können Sie ein Ereignis schreiben, das abgehört werden kann.
Ereignisse:
Wenn das Laravel-Framework Ereignisse erstellen möchte, können Sie diese mit dem folgenden Befehl erstellen:
php artisan make:event 事件名称
Die Datei wird im Verzeichnis app/Events gespeichert.
Listener:
Das Erstellen eines Listeners kann mit dem folgenden Befehl erstellt werden:
php artisan make:listener 监听器名称
Registrierung:
Nachdem das Ereignis und der Listener erstellt wurden, müssen sie kombiniert werden. Wir können es beim EventServiceProvider-Dienstanbieter registrieren. Wie folgt:
protected $listen = [ 事件名称 => [ 监听器名称, . ], ];
Verteilung
event(new TestEvent());
Zwei: Modellereignisse
Modellereignisse sind zusätzliche Funktionen, die speziell für Modelle hinzugefügt wurden. Es schafft für uns entsprechende Ereignisse und Zuhörer. Bei der Verwendung von Modellereignissen müssen wir uns an die vom Modell vorgegebenen Regeln halten:
- abgerufen: Wird nach Erhalt der Modellinstanz ausgelöst.
- Erstellen: Wird vor dem Einfügen in die Datenbank ausgelöst.
- Erstellt: Wird nach dem Einfügen in die Datenbank ausgelöst
- aktualisieren: Aktualisiert auf „Ausgelöst vor der Datenbank“
- aktualisiert: Wird nach dem Aktualisieren in der Datenbank ausgelöst
- Speichern: Wird vor dem Speichern in der Datenbank ausgelöst (vor dem Einfügen/Aktualisieren werden sowohl das Einfügen als auch das Aktualisieren ausgelöst)
- gespeichert: Wird nach dem Aktualisieren ausgelöst Speichern in der Datenbank (nach dem Einfügen/Aktualisieren, unabhängig davon, ob das Einfügen oder Aktualisieren ausgelöst wird)
- Löschen: Wird vor dem Löschen des Datensatzes aus der Datenbank ausgelöst.
- Gelöscht: Wird nach dem Löschen des Datensatzes aus der Datenbank ausgelöst.
- Wiederherstellen: Wird vor dem Wiederherstellen ausgelöst der vorläufig gelöschte Datensatz
- wiederhergestellt: Wird nach dem Wiederherstellen des vorläufig gelöschten Datensatzes ausgelöst
Erforderliche Bindung
protected $dispatchesEvents = [ 'saving' => \App\Events\TestEvent::class, // 'updated' => \App\Events\TestEvent::class, ];
3 am Modell: Das Beobachterereignis
muss dem Zuhörer zugeordnet werden , wir müssen sie registrieren und implementieren, was problematischer sein wird. Zu diesem Zeitpunkt können wir über die Verwendung von Beobachtern nachdenken. Wenn Sie mehrere Ereignisse in einem Modell abhören, können Sie Beobachter verwenden, um diese Zuhörer in einer separaten Klasse zu organisieren.
Verwendung von Beobachtern:
Beobachter können mit dem folgenden Befehl erstellt werden:
php artisan make:observer
Wenn Sie eine direkte Verknüpfung mit dem Modell herstellen möchten, können Sie auch direkt Parameter hinzufügen, die mit dem Modell verknüpft werden sollen:
php artisan make:observer UserObserver --model=User
Beobachterregistrierung :
Registrieren Sie
User::observe(UserObserver::class);
beim Dienstanbieter oder registrieren Sie
public static function booted() { self::observe(UserObserver::class); }
beim Modell
Das obige ist der detaillierte Inhalt vonLasst uns gemeinsam etwas über Ereignisse und Beobachter in Laravel lernen!. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Methoden, um sicherzustellen, dass verteilte Teammitglieder fairen Zugriff auf Tools und Ressourcen haben: 1) Verwenden von Alternativen mit niedriger Bandbreite, wie z. B. asynchrone Video- oder Textaktualisierungen, um Verbindungsprobleme zu lösen; 2) Einrichten von Kern überlappende Arbeitszeiten und flexible Arbeitszeiten für die Verwaltung von Zeitzonenunterschieden; 3) Anpassen an unterschiedliche kulturelle Bedürfnisse durch Übersetzungsfunktionen und kulturelle Ausbildung zur Sensibilisierung. Diese Strategien tragen dazu bei, ein integratives und effizientes Remote -Arbeitsumfeld zu schaffen.

ForeNhancingRemoteCollaboration, AninstantMessagingToolmuMuShave: 1) ZuverlässigkeitForConsistentMessagedelivery, 2) AnintuitiveUSerInterfaceForeAnavigation, 3) Real-TimenotificationStostayUpdated, 4) SeamlessFilesharningFocumentDocumentExchange, 5) Integration

TheBiggestChallengeofManaging -verteiltdeamSiscommunication

Die neueste Version von Laravel hat die Sicherheit erheblich verbessert, darunter: 1. Verbesserter CSRF -Schutz durch einen robusteren Token -Überprüfungsmechanismus; 2. Verbesserter SQL -Injektionsschutz durch eine verbesserte Abfragekonstruktionsmethode; 3.. Bessere Sitzungsverschlüsselung, um die Sicherheit der Benutzerdaten zu gewährleisten. 4. Verbessertes Authentifizierungssystem, Unterstützung feinerer granularer Benutzerauthentifizierung und Multi-Faktor-Authentifizierung (MFA).

Tonavigatesschoningconflictsinaglobalworkforce, USETechnologie, Empathie und Strategikplanung: 1) uaTools -ähnliche Welt -TimeBuddyorcalendlyForScheduling; 2) rotatatemeetingTimestoensureFairness;

In der Entwicklung von Laravel Full-Stack sind effektive Methoden zur Verwaltung von APIs und Front-End-Logik: 1) Verwenden von APIs mit erholsamen Controllern und Ressourcenrouting-Management; 2) Verarbeitung der Front-End-Logik durch Klingenvorlagen und Vue.js oder React; 3) Optimierung der Leistung durch API -Versioning und Paging; 4) Aufrechterhaltung der Trennung von Back-End- und Front-End-Logik, um die Wartbarkeit und Skalierbarkeit zu gewährleisten.

TotackleculturalinTricieSchuit -Verteilerteams, FosteranenvironmentcelebratingDifferzen, Bemindfulofcommunication, Andusetoolsforclarity.1) ImplementculturalexchangesSessionStosharestories undtraditions.2) adjitcommunicationMethodstosuitculturalPreferenz

ToassStheeFeffectivityofremoteCommunication, Focuson: 1) EngagementMetricSlikemessageFrequency und ResponSetime, 2) Sentimentanalysistogaigeemotionaltone, 3) treffeneffektivitätsthroughattendanceAndactionItems und 4) networkanalysistestandCommunivitätscommunicationPa


Heiße KI -Werkzeuge

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool
Ausziehbilder kostenlos

Clothoff.io
KI-Kleiderentferner

Video Face Swap
Tauschen Sie Gesichter in jedem Video mühelos mit unserem völlig kostenlosen KI-Gesichtstausch-Tool aus!

Heißer Artikel

Heiße Werkzeuge

Dreamweaver Mac
Visuelle Webentwicklungstools

mPDF
mPDF ist eine PHP-Bibliothek, die PDF-Dateien aus UTF-8-codiertem HTML generieren kann. Der ursprüngliche Autor, Ian Back, hat mPDF geschrieben, um PDF-Dateien „on the fly“ von seiner Website auszugeben und verschiedene Sprachen zu verarbeiten. Es ist langsamer und erzeugt bei der Verwendung von Unicode-Schriftarten größere Dateien als Originalskripte wie HTML2FPDF, unterstützt aber CSS-Stile usw. und verfügt über viele Verbesserungen. Unterstützt fast alle Sprachen, einschließlich RTL (Arabisch und Hebräisch) und CJK (Chinesisch, Japanisch und Koreanisch). Unterstützt verschachtelte Elemente auf Blockebene (wie P, DIV),

SublimeText3 Linux neue Version
SublimeText3 Linux neueste Version

Herunterladen der Mac-Version des Atom-Editors
Der beliebteste Open-Source-Editor

PHPStorm Mac-Version
Das neueste (2018.2.1) professionelle, integrierte PHP-Entwicklungstool
