Der Ereignismechanismus ist in zwei Typen unterteilt: Scantyp und Bindungstyp. Der Bindungstyp wird hauptsächlich in Yii verwendet, und der Bindungstyp umfasst zwei Methoden: trigger() und on()
1. Das Ereignis wird durch den Aufruf der yiibaseComponent::trigger()-Methode ausgelöst Übergeben Sie außerdem ein Ereignisobjekt, um Parameter an den Ereignishandler zu übergeben. (Empfohlenes Lernen: yii-Tutorial)
2. on():Manchmal möchten Sie, dass alle Instanzen einer Klasse auf ein ausgelöstes Ereignis reagieren und nicht auf eine bestimmte Instanz Bei Ereignissen werden die Ereignishandler nicht einzeln an jede Instanz angehängt, sondern der Handler wird auf Klassenebene angehängt, indem die statische Methode yiibaseEvent::on() aufgerufen wird.
Sehen wir uns ein konkretes Beispiel an: (Erstellen Sie eine Katze und eine Maus. Wenn die Katze miaut, wird die Maus dazu veranlasst, wegzulaufen)Das Obige ist der Code in der cat.php-Klasse. Da die Screenshots unvollständig sind, füge ich noch zwei weitere hinzu.
Wie können wir diese beiden Klassen verknüpfen? Natürlich müssen wir uns darauf verlassen, dass der Controller diese beiden Klassen aufruft (da die Cat-Klasse bereits die Komponentenklassendatei aufgerufen hat, also gibt es keine). muss es erneut aufrufen, wenn run hier verwendet wird)
Erweiterung:
Das obige ist der detaillierte Inhalt vonSo binden Sie Ereignisse in yii. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!