0
我正在開發一個組件,它將從URL中獲取一個GET變量,並將其存儲在一個可訪問的變量中,並將其放置在一個cookie中。如果GET變量沒有設置,將cookie值加載到訪問的變量:Yii init單例ApplicationComponent onBeginRequest
MyComponent extends ApplicationComponent {
protected $_var = null;
public init(){
// if isset($_GET['var']), set value to $_var and cookie;
// elseif cookie set value to $_var;
// else nothing;
}
public getVar(){
return $_var;
}
}
我總是希望組件的一個實例,我想在每一個前端要求運行的init(即使它沒有明確提到)。
我該如何把它鉤住?我知道onBeginRequest,但是這不只允許靜態方法? 我可以破解它,並在一個單獨的方法中設置一個應用程序組件,但這並不好。我希望這可以跨站點移植並在我的配置中設置,如果可能的話。
完美!謝謝,我認爲會有一個標準的方式。我承認,我確實發現Yii文檔有時很難導航。 – Arth 2014-11-04 09:15:06
不客氣!是的我同意。儘管他們有很好的記錄類參考。 – 2014-11-04 13:01:40