事件機制一共分為兩種:掃碼式和綁定式,YII中主要用的是綁定式,而綁定式又涉及兩個方法:trigger()和on()
1. trigger() : 事件通過調(diào)用 yiibaseComponent::trigger() 方法觸發(fā),此方法須傳遞事件名, 還可以傳遞一個事件對象,用來傳遞參數(shù)到事件處理器。? ? ? ? ? ? ? (推薦學(xué)習(xí):yii教程)
2. on() : 有時想要一個類的所有實例而不是一個指定的實例都響應(yīng)一個被觸發(fā)的事件, 并不是一個個附加事件處理器到每個實例, 而是通過調(diào)用靜態(tài)方法 yiibaseEvent::on() 在類級別附加處理器。
具體的實例我們一起看一下:(創(chuàng)建一只貓和一只老鼠,當(dāng)貓叫的時候,觸發(fā)老鼠就跑)
以上是cat.php類中代碼,由于截圖不全,就補上兩張,下面來看一下mouse.php
怎么才能把這兩個類關(guān)聯(lián)起來呢,當(dāng)然是要靠控制器來調(diào)用這兩個類嘍,(因為cat類已調(diào)用compoent類文件,所以此處用run就不用重新調(diào)用)
擴展:
? 版權(quán)聲明
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載。
THE END