Heim >PHP-Framework >YII >So binden Sie Ereignisse in yii

So binden Sie Ereignisse in yii

(*-*)浩
(*-*)浩Original
2019-11-06 09:32:193161Durchsuche

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()

So binden Sie Ereignisse in yii

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)

So binden Sie Ereignisse in yii

So binden Sie Ereignisse in yii

Das Obige ist der Code in der cat.php-Klasse. Da die Screenshots unvollständig sind, füge ich noch zwei weitere hinzu.

So binden Sie Ereignisse in yii

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:So binden Sie Ereignisse in yii

So binden Sie Ereignisse in yii

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!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn