从Zend中的URL获取参数

时间:2014-04-26 13:38:27

标签: php zend-framework iis

在Zend应用程序中有一个像这样的url示例:

http://example.com/profile/423423(some id)

如何从网址获取参数?

我尝试使用:

$this->getRequest()->getParam('action');

但是我没有采取行动。

然后我尝试这样的事情:

protected function _initRouter()
{
    $router = Zend_Controller_Front::getInstance()->getRouter();
    $router->addRoute('profile/:catid', new Zend_Controller_Router_Route('profile/:catid',
        array(
            'module' => 'default',
            'controller' => 'profile',
            'action' => 'index' // Check your action and controller
         )));
}

如何从网址获取参数?

2 个答案:

答案 0 :(得分:0)

你应该使用

$this->getRequest()->getParam('profile');

来自您的控制器。

您不需要使用自定义路线。

亲切的问候

加里

修改

我刚刚注意到您希望使用配置文件控制器。最简单的解决方案是在您的网址中添加一个ID,如。

http://example.com/profile/id/423423

并使用

获取个人资料ID
$this->getRequest()->getParam('id');

答案 1 :(得分:0)

您可以使用getParam()方法检索路由,GET和POST等请求变量。

在您的控制器操作中,您可以执行此操作。

$this->getParam('parameterName'); or $this->getRequest()->getParam('parameterName'); 

如果您想获得与当前路线匹配的动作和控制器的名称,您需要使用以下方法。

$this->getRequest()->getActionName() and $this->getRequest()->getControllerName()