尝试在Yii中使用模块,并希望从主控制器(SiteController)访问模块的方法。 使用Gii创建模块,模块名称为Car。 尝试访问RequestController中的方法搜索,模块Car。
echo Yii::app()->Car->Request->search();
Yii跟我说话
未定义属性“CWebApplication.carhire”。
有人知道如何从其他控制器访问模块的方法吗? 感谢
答案 0 :(得分:2)
您的模块不会进入应用程序范围。可以通过components
模块访问的是Yii::app()->
,但可以通过Yii::app()->getModule($moduleName)->
访问。
但这并不能真正帮助在控制器上运行操作。在没有完全破坏抽象模块的情况下,很难获得访问权限。
bool.dev的回答Here是我见过的最好的方法,如果你真的需要的话。
但是您遇到的问题可能表明您的网站结构存在潜在问题。如果您需要访问应用程序中其他位置的模块控制器功能,可能它不应该在模块中吗?