Zend框架路由问题

时间:2016-06-10 13:04:52

标签: php zend-framework routing routes

我在module.config.php

中有一个包含以下内容的模块
<?php
return array(
        'controllers' => array(
                'invokables' => array(
                        'BlindQC\Controller\BlindQC' => 'BlindQC\Controller\BlindQCController',
                ),
        ),
        // The following section is new and should be added to your file
        'router' => array(
                'routes' => array(
                        'blinqc' => array(
                                'type' => 'Segment',
                                'options' => array(
                                        'route' => '/blindqc/jobs[/:user_id]',
                                        'defaults' => array(
                                                '__NAMESPACE__' => 'BlindQC\Controller',
                                                'controller' => 'BlindQC',
                                                'action' => 'index',
                                        ),
                                ),
                        ),
                ),
        ),
        'view_manager' => array(
                'template_path_stack' => array(
                        'blindqc' => __DIR__ . '/../view',
                ),
        ),
);

这样我就可以转到www.example.com/blindqc/jobswww.example.com/blindqc/jobs/123456

在此页面上,我有一个搜索框,用户可以在其中输入user_id,在点击Search时,应将其重定向到网址,然后输入user_id。因此,如果他们输入999999,则应将其转到www.example.com/blindqc/jobs/999999。我似乎在使用路线来解决这个问题。

我试过了:

return $this->redirect()->toRoute("blindqc/jobs/", array("user_id" => $userId)); 

但是我收到了一个错误:

  

未找到名称“blindqc”的路线

我做错了什么?据我所知,路线定义正确吗?

1 个答案:

答案 0 :(得分:1)

下面代码段中的第三行显示的是blinqc,而它应该是blindqc

'router' => array(
    'routes' => array(
        'blinqc' => array(