Maison  >  Article  >  cadre php  >  Quel est l'événement de yii

Quel est l'événement de yii

(*-*)浩
(*-*)浩original
2019-11-14 16:42:352689parcourir

Quel est l'événement de yii

Événements

Les événements peuvent « injecter » du code personnalisé à un point d'exécution spécifique dans code existant. Attachez un code personnalisé à un événement et le code sera automatiquement exécuté lorsque l'événement est déclenché. (Apprentissage recommandé : tutoriel yii)

Par exemple, l'événement messageSent peut être déclenché lorsque l'objet du programme de messagerie envoie avec succès un message. Si vous souhaitez suivre les messages envoyés avec succès, vous pouvez joindre le code de suivi correspondant à l'événement messageSent.

Yii introduit une classe de base appelée yiibaseComponent pour prendre en charge les événements. Si une classe doit déclencher des événements, elle doit hériter de yiibaseComponent ou de ses sous-classes.

Gestionnaires d'événements

Un gestionnaire d'événements est une fonction de rappel PHP qui est exécutée lorsque l'événement auquel il est attaché est déclenché. Vous pouvez utiliser l'une des fonctions de rappel suivantes :

Fonction globale PHP spécifiée sous forme de chaîne, telle que 'trim' ;

Méthode d'objet spécifiée sous forme de tableau du nom de l'objet et du nom de la méthode, telle que comme [$object, $method] ;

Méthode de classe statique spécifiée sous forme de tableau de nom de classe et de nom de méthode, telle que [$class, $method] ; fonction ($événement) { ... }.

Le format du gestionnaire d'événements est :

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

Grâce au paramètre $event, le gestionnaire d'événements obtient les informations suivantes sur l'événement :

nom de l'événement : nom de l'événement

expéditeur de l'événement : l'objet qui appelle la méthode trigger()

données personnalisées : les données transmises lors de l'attachement du gestionnaire d'événements, la valeur par défaut est vide, après Les détails de l'article

Attacher des gestionnaires d'événements

Appelez la méthode yiibaseComponent::on() pour attacher le gestionnaire à l'événement. Tel que :

$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) {
    //事件处理逻辑
});

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Article précédent:qu'est-ce que le framework yiiArticle suivant:qu'est-ce que le framework yii