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