yii事件机制之绑定式

事件机制一共分为两种:扫码式和绑定式,yii中主要用的是绑定式,而绑定式又涉及两个方法:trigger()和on()

1. trigger() : 事件通过调用 yii\base\Component::trigger() 方法触发,此方法须传递事件名, 还可以传递一个事件对象,用来传递参数到事件处理器。

2. on() : 有时想要一个类的所有实例而不是一个指定的实例都响应一个被触发的事件, 并不是一个个附加事件处理器到每个实例, 而是通过调用静态方法 yii\base\Event::on()类级别附加处理器。

具体的实例我们一起看一下:(创建一只猫和一只老鼠,当猫叫的时候,触发老鼠就跑)

以上是cat.php类中代码,由于截图不全,就补上两张,下面来看一下mouse.php

怎么才能把这两个类关联起来呢,当然是要靠控制器来调用这两个类喽,(因为cat类已调用compoent类文件,所以此处用run就不用重新调用)

扩展:

不明白的可以阅读官方文档:https://www.yiiframework.com/doc/guide/2.0/zh-cn/concept-events

猜你喜欢

转载自blog.csdn.net/zhangzhangdan/article/details/81109839