1. 程式人生 > >yii事件機制之繫結式

yii事件機制之繫結式

事件機制一共分為兩種:掃碼式和繫結式,yii中主要用的是繫結式,而繫結式又涉及兩個方法:trigger()和on()

1. trigger() : 事件通過呼叫 yii\base\Component::trigger() 方法觸發,此方法須傳遞事件名, 還可以傳遞一個事件物件,用來傳遞引數到事件處理器。

2. on() : 有時想要一個類的所有例項而不是一個指定的例項都響應一個被觸發的事件, 並不是一個個附加事件處理器到每個例項, 而是通過呼叫靜態方法 yii\base\Event::on()類級別附加處理器。

具體的例項我們一起看一下:(建立一隻貓和一隻老鼠,當貓叫的時候,觸發老鼠就跑)

以上是cat.php類中程式碼,由於截圖不全,就補上兩張,下面來看一下mouse.php

怎麼才能把這兩個類關聯起來呢,當然是要靠控制器來呼叫這兩個類嘍,(因為cat類已呼叫compoent類檔案,所以此處用run就不用重新呼叫)

擴充套件: