Heim > PHP-Framework > YII > Hauptteil

Was ist das Ereignis von yii

(*-*)浩
Freigeben: 2019-11-14 16:42:35
Original
2694 Leute haben es durchsucht

Was ist das Ereignis von yii

Ereignisse

Ereignisse können benutzerdefinierten Code in einen bestimmten Ausführungspunkt „einschleusen“. vorhandenen Code. Hängen Sie benutzerdefinierten Code an ein Ereignis an und der Code wird automatisch ausgeführt, wenn das Ereignis ausgelöst wird. (Empfohlenes Lernen: yii-Tutorial)

Zum Beispiel kann das messageSent-Ereignis ausgelöst werden, wenn das Mailprogrammobjekt erfolgreich eine Nachricht sendet. Wenn Sie erfolgreich gesendete Nachrichten verfolgen möchten, können Sie den entsprechenden Tracking-Code an das messageSent-Ereignis anhängen.

Yii führt eine Basisklasse namens yiibaseComponent ein, um Ereignisse zu unterstützen. Wenn eine Klasse Ereignisse auslösen muss, sollte sie yiibaseComponent oder seine Unterklassen erben.

Ereignishandler

Ein Ereignishandler ist eine PHP-Rückruffunktion, die ausgeführt wird, wenn das Ereignis, an das sie angehängt ist, ausgelöst wird. Sie können eine der folgenden Rückruffunktionen verwenden:

Globale PHP-Funktion, angegeben in String-Form, z. B. „trim“;

Objektmethode, angegeben in Array-Form aus Objektname und Methodenname, z. B als [$object, $method];

Statische Klassenmethode, angegeben in Array-Form aus Klassennamen und Methodennamen, wie zum Beispiel [$class, $method]; Funktion ($event) { ... }.

Das Format des Event-Handlers ist:

function ($event) {
    // $event 是 yii\base\Event 或其子类的对象
}
Nach dem Login kopieren

Über den $event-Parameter erhält der Event-Handler die folgenden Informationen über das Ereignis:

Ereignisname: Ereignisname

Ereignissender: das Objekt, das die Methode trigger() aufruft

Benutzerdefinierte Daten: die Daten, die beim Anhängen des Ereignishandlers übergeben werden, die Standardeinstellung ist leer, danach Die Artikeldetails

Ereignishandler anhängen

Rufen Sie die Methode yiibaseComponent::on() auf, um den Handler an das Ereignis anzuhängen. Zum Beispiel:

$foo = new Foo;

// 处理器是全局函数
$foo->on(Foo::EVENT_HELLO, 'function_name');

// 处理器是对象方法
$foo->on(Foo::EVENT_HELLO, [$object, 'methodName']);

// 处理器是静态类方法
$foo->on(Foo::EVENT_HELLO, ['app\components\Bar', 'methodName']);

// 处理器是匿名函数
$foo->on(Foo::EVENT_HELLO, function ($event) {
    //事件处理逻辑
});
Nach dem Login kopieren

Das obige ist der detaillierte Inhalt vonWas ist das Ereignis von yii. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
yii
Quelle:php.cn
Erklärung dieser Website
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
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage