Heim > Artikel > Backend-Entwicklung > Was sind PHP-Aktionen und -Ereignisse?
Was sind PHP-Verhaltensweisen und -Ereignisse?
Verhalten
Verhalten ist eine ThinkPHP-Erweiterung A Als Schlüsselerweiterung des Mechanismus können Verhaltensweisen unabhängig aufgerufen oder zum Abhören an ein Tag gebunden werden.
Lassen Sie uns zunächst noch einmal beschreiben, warum Verhaltensweisen verwendet werden.
Es gibt zwei Möglichkeiten, Funktionen zu einer Klasse hinzuzufügen:
1. Ändern Sie direkt den Code dieser Klasse und fügen Sie einige Mitgliedsfunktionen und Mitgliedsvariablen hinzu , durch Unterklasse erweitern.
Offensichtlich ist die zweite Methode einfacher zu pflegen und zu erweitern. Wenn jedoch einer Klasse mehrere Funktionen hinzugefügt werden müssen (mehrere Personen zu unterschiedlichen Zeiten), ist eine Ableitung auf mehreren Ebenen erforderlich, was offensichtlich die Wartungskosten erhöht.
In Yii fügt die Komponente durch Verhaltensklassenbindung Mitgliedsmethoden und Mitgliedsvariablen einer oder mehrerer CBehavior-Klassen zu sich selbst hinzu und entlädt bestimmte CBehavior-Klassen, wenn sie nicht benötigt werden.
Gleichzeitig können Sie die CBeavior::events-Methode überschreiben, um mehrere Ereignisbindungen an die Zielklasse zu erreichen. Diese Ereignisse werden miteinander verbunden, wenn das aktuelle Verhalten an die Zielklasse gebunden ist.
EreignisDas Ereignismodell ist das „Beobachtermuster“ im Entwurfsmuster: Wenn sich der Zustand eines Objekts ändert, kann dieses Objekt andere Objekte darüber informieren Ereignis .
Um das Ereignismodell zu verwenden, müssen Sie diese drei Schritte implementieren: 1. Definieren Sie das Ereignis. 2. Registrieren Sie den Ereignishandler. 3. Lösen Sie das Ereignis aus.
Warum müssen wir diese drei Schritte ausführen? Denn für PHP selbst wird der Ausführungsprozess nicht als Prozess ausgeführt
Weitere PHP-bezogene Kenntnisse finden Sie auf der
PHP-Chinese-WebsiteDas obige ist der detaillierte Inhalt vonWas sind PHP-Aktionen und -Ereignisse?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!