mct*_*987 3 php zend-framework
ZF 1.9.6尝试根据请求的用户代理更改模块.当我尝试从Front获取请求对象时,我得到NULL.
目前我正在尝试从我创建的Bootstrap _initModule方法设置模块名称.
$front = Zend_Controller_Front::getInstance();
$request = $front->getRequest(); // This is NULL
$request = new Zend_Controller_Request_Http();
$request->setModuleName('iphone');
$front->setRequest($request);
Run Code Online (Sandbox Code Playgroud)
但是,执行时,它仍然会进入"默认"模块.
我不认为Bootstrap是正确的地方,因为它发生在任何请求路由开始之前.
我建议使用preDispatch前端控制器插件:
class Your_Application_Plugin_ModuleSelector extends Zend_Controller_Plugin_Abstract {
public function preDispatch(Zend_Controller_Request_Abstract $request) {
...
$request->setModuleName('iphone');
}
...
}
Run Code Online (Sandbox Code Playgroud)
附:
resources.frontController.plugins.moduleselector = "Your_Application_Plugin_ModuleSelector"
Run Code Online (Sandbox Code Playgroud)
在你身上 application.ini
归档时间: |
|
查看次数: |
2232 次 |
最近记录: |