Zend framework2 向ZF2中的URL添加参数

Zend framework2 向ZF2中的URL添加参数,zend-framework2,zend-route,Zend Framework2,Zend Route,我正在尝试构造如下所示的url: abc.com/folder?user_id=1&category=v 'browse_test_case' => array( 'type' => 'Literal', 'options' => array( 'route' => '/browse-case[/:pro


我正在尝试构造如下所示的url:

 abc.com/folder?user_id=1&category=v
   'browse_test_case' => array(
                        'type' => 'Literal',
                        'options' => array(
                            'route' => '/browse-case[/:productId]',
                            'defaults' => array(
                                'controller' => 'Test\Controller\Browse',
                                'action'     => 'browse-test-case',
                            ),
                        ),
                        'may_terminate' => true,
                        'child_routes'  => array(
                            'query' => array(
                                'type' => 'Query',
                            ),
                        ),
                        ),
遵循此链接中给出的建议:

最初,它抛出了这个错误

 Query route deprecated as of ZF 2.1.4; use the "query" option of the HTTP router\'s assembling method instead
根据建议,我使用了类似的

  $name    = 'index/article';
  $params  = ['article_id' => $articleId];
  $options = [
    'query' => ['param' => 'value'], 
  ];
  $this->url($name, $params, $options);
现在,我发现语法错误是

   Parse error: syntax error, unexpected '[' in /var/www/test/module/Dashboard/view/dashboard/dashboard/product.phtml on line 3
My module.config.php的配置如下:

 abc.com/folder?user_id=1&category=v
   'browse_test_case' => array(
                        'type' => 'Literal',
                        'options' => array(
                            'route' => '/browse-case[/:productId]',
                            'defaults' => array(
                                'controller' => 'Test\Controller\Browse',
                                'action'     => 'browse-test-case',
                            ),
                        ),
                        'may_terminate' => true,
                        'child_routes'  => array(
                            'query' => array(
                                'type' => 'Query',
                            ),
                        ),
                        ),

任何想法,请帮忙

您的url视图帮助程序调用错误。第一个参数是已定义路由的名称,第二个参数是包含路由参数的数组。数组语法也应该正确。例如 数组(“param1”=>“value1”、“param2”=>“value2”)

在您的示例中,正确的url视图帮助程序调用应该如下所示: $this->url('browse_test_case',array('productId'=>'1')

…其中“1”可以是数据库表行标识符,例如

路由定义中的查询子路由允许您也使用路由中指定的url参数以外的其他url参数。但这些子路由都以“/browse case[/:productId]”开头

在这里您可以找到ZF2的参考示例:

您使用的是哪个版本的PHP?您使用的是哪个版本的PHP?PHP5.4中引入了使用
[]
的短数组表示法,如果您使用的是旧版本,则必须使用
array()