当前位置:  开发笔记 > 编程语言 > 正文

在Zend Framework中更改模块名称

如何解决《在ZendFramework中更改模块名称》经验,为你挑选了1个好方法。

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);

但是,执行时,它仍然会进入"默认"模块.



1> Ivan Krechet..:

我不认为Bootstrap是正确的地方,因为它发生在任何请求路由开始之前.

我建议使用preDispatch前端控制器插件:

class Your_Application_Plugin_ModuleSelector extends Zend_Controller_Plugin_Abstract {
    public function preDispatch(Zend_Controller_Request_Abstract $request) {
        ...
        $request->setModuleName('iphone');
    }
...
}

附:

resources.frontController.plugins.moduleselector = "Your_Application_Plugin_ModuleSelector"

在你身上 application.ini

推荐阅读
linjiabin43
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有