我正在使用zend框架2,我需要为还有两个必需参数的路段创建一个可选参数。下面是描述路由的module.config.php的一个片段。我的理解是,在ZF2可选路径参数可以通过使用如何为zend框架2创建可选的路由参数2宁静的路由
[/:param]
,你可以看到的是什么,我都被创建。只要我发送可选参数,它就可以正常工作,但是当我将它们排除在外时,前两个参数“uname和appname”会一起附加到“uname”约束中。该路线是父路线。
'roles' => array(
'type' => 'segment',
'options' => array(
'route' => '/roles/:uname/:appname[/:locnames]',
'constraints' => array(
'uname' => '[a-zA-Z].+',
'appname' => '[a-zA-Z0-9_-].+',
'locnames' => 'locnames'
),
'defaults' => array(
'controller' => 'Roles/Controller/RolesController'
),
),
),
缺少什么我在这里,我知道你可以定义可选参数,但我无法找出正确的格式
感谢您的回答,但是按照您的建议配置路线不起作用。控制器无法与路由器相匹配。我忘了提及我的控制器扩展了AbstractRestfulController。我只是想要一个像/ roles/uname/appname/[locnames]这样的休息url也许AbstractRestfulController不允许路由中的可选参数 – Rodney