Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/228.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php ZF2高级路由:如何拥有用户目录?_Php_Zend Framework2 - Fatal编程技术网

Php ZF2高级路由:如何拥有用户目录?

Php ZF2高级路由:如何拥有用户目录?,php,zend-framework2,Php,Zend Framework2,使用Zend Framework路由(Zend\Mvc\Router\RouteStack),如何添加模块以支持用户配置文件页面 但我也希望它能够支持根目录中的其他页面/模块,如/rss或/search/asdf。这是我的第一个猜测,没有运气 'Zend\Mvc\Router\RouteStack' => array( 'parameters' => array( 'routes' => array( 'default' =>

使用Zend Framework路由(Zend\Mvc\Router\RouteStack),如何添加模块以支持用户配置文件页面

但我也希望它能够支持根目录中的其他页面/模块,如
/rss
/search/asdf
。这是我的第一个猜测,没有运气

'Zend\Mvc\Router\RouteStack' => array(
    'parameters' => array(
        'routes' => array(
            'default' => array(
                'type'    => 'Zend\Mvc\Router\Http\Segment',
                'options' => array(
                    'route'    => '/[:username[/:action]]',
                    'constraints' => array(
                        'username' => '[a-zA-Z][a-zA-Z0-9_-]*',
                        'action'     => '[a-zA-Z][a-zA-Z0-9_-]*',
                    ),
                    'defaults' => array(
                        'controller' => 'Application\Controller\UserController',
                        'action'     => 'index',
                    ),
                ),
            ),
URL示例


    • 找到了答案。在路由树的最末端使用Zend\Mvc\Router\Http\Regex匹配

                          'user' => array(
                              'type' => 'Zend\Mvc\Router\Http\Regex',
                              'options' => array(
                                  'regex' => '/(?<id>[a-zA-Z0-9_-]+)',
                                  'defaults' => array(
                                      'controller' => 'Application\Controller\IndexController',
                                      'action'     => 'user',
                                  ),
                                  'spec' => '/%id%',
                              ),
                          ),
                          'user-schedule' => array(
                              'type' => 'Zend\Mvc\Router\Http\Regex',
                              'options' => array(
                                  'regex' => '/(?<id>[a-zA-Z0-9_-]+)/schedule',
                                  'defaults' => array(
                                      'controller' => 'Application\Controller\IndexController',
                                      'action'     => 'schedule',
                                  ),
                                  'spec' => '/%id%/schedule',
                              ),
                          ),
      
      “用户”=>数组(
      'type'=>'Zend\Mvc\Router\Http\Regex',
      “选项”=>数组(
      “正则表达式”=>“/(?[a-zA-Z0-9_-]+)”,
      “默认值”=>数组(
      “控制器”=>“应用程序\控制器\索引控制器”,
      “操作”=>“用户”,
      ),
      'spec'=>'/%id%',
      ),
      ),
      “用户计划”=>数组(
      'type'=>'Zend\Mvc\Router\Http\Regex',
      “选项”=>数组(
      “正则表达式”=>“/(?[a-zA-Z0-9_-]+)/附表”,
      “默认值”=>数组(
      “控制器”=>“应用程序\控制器\索引控制器”,
      “操作”=>“计划”,
      ),
      “规范”=>“/%id%/计划”,
      ),
      ),