[英]How to pass parameters by url with Zend Framework 2
我在使用Zend Framework 2中的URL传递参数时遇到了麻烦。例如:我想通过这样的URL访问页面: http : //example.com/student/details/aaa,它可以工作,但是如果我的URL像这样: http : //example.com/student/details/1它不起作用,而且我仍然得到404。
我试图遵循如何在Zend Framework 2中使用路由传递参数的说明?
但这仍然行不通。
这是我的module.config.php
'student' => array(
'type' => 'segment',
'options' => array(
'route' => '/student[/:action][/:id]',
'constraints' => array(
'action' => '[a-zA-Z][a-zA-Z0-9_-]*',
'id' => '[a-zA-Z][a-zA-Z0-9_-]*',
),
'defaults' => array(
'__NAMESPACE__' => 'AppFeeder\Controller',
'controller' => 'Student',
'action' => 'index',
),
),
),
我在控制器中使用此$this->getEvent()->getRouteMatch()->getParam('id')
。
谁能帮我 ?
您为ID使用错误的路由规则,该规则说从字母开始,然后是字母+数字+“ _-”。
'id' => '[a-zA-Z][a-zA-Z0-9_-]*',
相反,您需要更改规则,说从字母+数字开始,然后从字母+数字+“ _-”开始
'id' => '[a-zA-Z0-9][a-zA-Z0-9_-]*',
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.