elb*_*cho 7 zend-framework zend-controller
我正在尝试在我的bootstrap文件中捕获一个URL参数,但经过几次尝试后我无法做到.
我试过这个,但它不起作用:
protected function _initGetLang() {
$frontController = Zend_Controller_Front::getInstance();
$lang= $frontController->getParam('lang');
}
Run Code Online (Sandbox Code Playgroud)
这是正确的方法吗?
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;
}
Run Code Online (Sandbox Code Playgroud)
这至少会为您提供一个可以switch在引导程序中使用的模块名称.尽管如此,您应该可以通过正确完成插件来执行任何操作.
| 归档时间: |
|
| 查看次数: |
7111 次 |
| 最近记录: |