我在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 ...
答案 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