Zend框架如何从url获取params

时间:2014-01-09 12:33:05

标签: php zend-framework

我的网址如下

domain.com/admin/delete/1/2/3

我想在不同的变量中获得最后一个值1 2和3。

可能像段

delete($arg1,$arg2,$arg3){  }

OR

$param = getallparam();

请任何人告诉我如何在zend框架中实现这一目标。 我的zf版本是1.12

2 个答案:

答案 0 :(得分:1)

您正在寻找的是自定义路由。初始化应用程序时,可以在FrontController中添加以下内容:

$front = Zend_Controller_Front::getInstance();
$front->setParam('useDefaultControllerAlways', false);
$front->setControllerDirectory('application/controllers');

$front->getRouter()->addRoute('mycontrol', new Zend_Controller_Router_Route('/action/:param1/:param2/:param3', array(
                    'controller' => 'mycontrol', 
                    'module' => 'default',
                    'action' => 'action',
                    'param1' => ''),
                    'param2' => ''),
                    'param3' => ''))
);

然后,在您的控制器中(即在MycontrolController-> actionAction()中),您可以访问参数

$param1 = $this->_request->getParam('param1', $default = '');
$param2 = $this->_request->getParam('param2', $default = '');
$param3 = $this->_request->getParam('param3', $default = '');

答案 1 :(得分:0)

你可以通过这种方式实现它 将您的网址更新为

domain.com/admin/delete/str1/1/str2/2/str3/3

现在使用代码

echo "<pre>";
     print_r($this->_request->getParams());
echo "</pre>";