我正在尝试在我的bootstrap文件中捕获一个URL参数,但经过几次尝试后我无法做到.
我试过这个,但它不起作用:
protected function _initGetLang() { $frontController = Zend_Controller_Front::getInstance(); $lang= $frontController->getParam('lang'); }
这是正确的方法吗?
THKS.
您将无法从引导程序访问请求参数,因为它尚未完成分派/路由过程.我认为使用Controller插件可以更好地服务,基于URL执行操作是他们最擅长的.或者,如果您必须在引导程序中执行此操作,getRequestUri()
或者$_GET
可用,或者您可以编写快速脚本来自行解析URL.
编辑:
在我弄清楚插件是如何工作之前,我在过去做了一些这样的愚蠢的事情:
/** * Grab the module name without a request instance * * @return string The module name */ public static function getModuleName() { $uri = ltrim($_SERVER["REQUEST_URI"], "/"); $module = substr($uri, 0, strpos($uri, "/")); return $module; }
这至少会为您提供一个可以switch
在引导程序中使用的模块名称.尽管如此,您应该可以通过正确完成插件来执行任何操作.