如何通过使用PARAMS Zend框架2的路线?(how to pass params using

2019-10-17 09:05发布

我有一个路由器test/view ,我想传递一些PARAMS像test/view/id/123

林不知道如何在ZF2路由器添加这些PARAMS。

'router' => array(
        'routes' => array(
            'test' => array(
                'type'    => 'Literal',
                'options' => array(
                    'route'    => '/test',
                    'defaults' => array(
                        '__NAMESPACE__' => 'test\Controller',
                        'controller'    => 'Index',
                        'action'        => 'index',
                    ),
                ),
                'may_terminate' => true,
                'child_routes' => array(
                    'view' => array(
                        'type' => 'Literal',
                        'options' => array(
                            'route' => '/view',
                            'defaults' => array(
                                'controller' => 'Index',
                                'action'     => 'view',
                            ),
                        ),
                    ),
                ),
            ),
        ),
),

我设置view作为一个孩子的路线,但不知道在哪里添加这些PARAMS。

我已经试过'route' => '/view/:id/:value'

'defaults' => array(
    'controller' => 'Index',
    'action'     => 'view',
    'id'         => 'value',
)

但他们似乎没有工作

我试图理解它是如何工作的。

有任何想法吗? 谢谢

Answer 1:

'router' => array(
    'routes' => array(
        'test-view' => array(
            'type'    => 'segment',
            'options' => array(
                'route'    => '/test/view/:testId[/]',
                'constraints' => array(
                    'testId'     => '[0-9]+',
                ),
                'defaults' => array(
                    'controller' => 'Test\Controller\Index',
                    'action' => 'view'
                ),
            ),
        ),

在你ControllerAction然后你可以通过使用获得的参数“testId”:

$this->params('testId');

BTW:以上路线给你的网址是这样的: /test/view/123 -我想你可以摆脱“ID”参数的。

如果你想创建一个链接到一种这个页面,你可以使用$this->url('test-view', array('testId' => 123))在你的意见之一。



文章来源: how to pass params using a route in Zend Framework 2?