Routing 跳过ZF2 HTTP查询路由器中的自定义参数
我正在使用zend url helper和其他Routing 跳过ZF2 HTTP查询路由器中的自定义参数,routing,zend-framework2,zend-router,Routing,Zend Framework2,Zend Router,我正在使用zend url helper和其他/query生成url地址,正如我发现的那样 . 在配置文件中,我设置了如下路由器: 'my_name' => array( 'type' => 'segment', 'options' => array( 'route' => '/my_name/:id/some_action[/:id2]',
/query
生成url地址,正如我发现的那样
.
在配置文件中,我设置了如下路由器:
'my_name' => array(
'type' => 'segment',
'options' => array(
'route' => '/my_name/:id/some_action[/:id2]',
'constraints' => array(
'id' => '[0-9]+',
'id2' => '[0-9]+',
),
'defaults' => array(
'controller' => 'MyController',
),
),
'may_terminate' => true,
'child_routes' => array(
'query' => array(
'type' => 'Query',
'options' => array(
'defaults' => array(
)
)
),
),
),
http://my_address/my_name/:id/some_action/?controller=MyController&limit=1&action=get&offset=2
我收到生成的链接,如下所示:
'my_name' => array(
'type' => 'segment',
'options' => array(
'route' => '/my_name/:id/some_action[/:id2]',
'constraints' => array(
'id' => '[0-9]+',
'id2' => '[0-9]+',
),
'defaults' => array(
'controller' => 'MyController',
),
),
'may_terminate' => true,
'child_routes' => array(
'query' => array(
'type' => 'Query',
'options' => array(
'defaults' => array(
)
)
),
),
),
http://my_address/my_name/:id/some_action/?controller=MyController&limit=1&action=get&offset=2
我想做的是删除控制器
和操作
参数,我没有设置这些参数,只显示我自己提供的参数
路由器配置中是否有可设置的选项?或者有没有其他方法可以得到我想要的?您的路线或默认设置中都没有指定操作。当路由匹配时,您需要能够识别要调用的操作(方法)
'route' => '/my_name/:id/:action[/:id2]', // allow action passed thru
'constraints' => array(
'id' => '[0-9]+',
'id2' => '[0-9]+',
),
'defaults' => array(
'controller' => 'MyController',
'action' => 'some_action', // or specify a default action to use
),
您在url帮助程序中使用什么代码来生成链接?这是
Zend\View\helper\url
,并且\uu invoke()
用于生成链接。我使用AbstractRestfulController
,并根据HTTP方法和url部分选择适当的操作(某些操作
)。那样的话,我想我不可能进入应该采取行动的路线。啊,你从来没有提到过:)