Php ZF2高级路由:如何拥有用户目录?
使用Zend Framework路由(Zend\Mvc\Router\RouteStack),如何添加模块以支持用户配置文件页面 但我也希望它能够支持根目录中的其他页面/模块,如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' =>
/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%/计划”,
),
),