在Zend Framework 2中通过URL传递参数

时间:2014-01-28 03:43:08

标签: php zend-framework2

我在Zend Framework中通过URL传递参数时遇到了麻烦。

例如,我有一个像这样的控制器:

class MyController extends AbstractActionController {
    public function indexAction() { ... }
    public function updateAction($id) { ... }
}

我想通过以下网址访问更新页面:http://example.com/mycontroller/update/1

那么如何将值1传递给控制器​​?

任何人都可以帮助我吗?非常感谢。

顺便说一下,我已经改变了

的默认路由器
'route'    => '/[:controller[/:action]]'

'route'    => '/[:controller[/:action[/:id]]]',

但它仍然无效。这是以下错误消息。

Warning: Missing argument 1 for Module\Controller\MyController::updateAction() call in ...

1 个答案:

答案 0 :(得分:2)

我已经解决了这个问题!

您应该按如下方式更改功能:

public function updateAction()
{
    $paramName = $this->getEvent()->getRouteMatch()->getParam('id');

    // Do something with $paramName

    return array();
}

在Zend Framework2中有更多获取参数的方法: How to access route, post, get etc. parameters in Zend Framework 2