我正在研究Zend项目,我在路由器/路由方面遇到了一些问题。
我想要这些网址:
URL中的第三个段将是固定文本“formsend”,或者它将包含一个ID,例如'123456789'。
URL 1和3都应该执行indexAction()
,URL 2必须执行sendAction()
。
现在我有了这些路由的设置,以使URL 1和2正常工作:
return array(
'router' => array(
'routes' => array(
'contact' => array(
'type' => 'Segment',
'options' => array(
'route' => '/contact[/][:dns]',
'defaults' => array(
'__NAMESPACE__' => 'project\Controller',
'controller' => 'Contact',
'action' => 'index',
),
),
'may_terminate' => true,
'child_routes' => array(
'send' => array(
'type' => 'Segment',
'options' => array(
'route' => '[/[:action[/]]]',
'defaults' => array(
'action' => 'send'
),
),
),
),
),
我不知道如何更改路线,以便能够在indexAction()
内部设置segment_3。我需要改变什么?
答案 0 :(得分:2)
听起来你只需要两条路线:
首先定义/contact/:type/formsend
,然后定义/contact/:type[/:id]
。
您可以让他们成为顶级(非终止)/contact
或/contact/:type
路线的孩子。