首页 > 开发 > PHP > 正文

ThinkPHP、ZF2、Yaf、Laravel框架路由大比拼

2024-05-04 23:33:23
字体:
来源:转载
供稿:网友
这篇文章主要介绍了ThinkPHP、ZF2、Yaf、Laravel框架路由大比拼的相关资料,需要的朋友可以参考下
 

前言

读过一篇关于Zend Framework2的技术文章《ZF2多级树形路由Route配置实例》,是介绍路由配置的。我觉得很有意思,这是的需求:

/user对应用户列表页面
/user/:user_id对应用户的个人主页,比如 /user/AlloVince 就对应AlloVince用户的个人主页
/user/:user_id/blog/对应用户的博客列表页面,比如 /user/AlloVince/blog 就会列出AlloVince写过的Blog
/user/:user_id/blog/:blog_id对应用户的一篇博客文章
方案引用自原文:
 

  1. 'router' => array
  2.   'routes' => array
  3.     'user' => array
  4.       'type' => 'Segment'
  5.       'options' => array
  6.         'route' => '/user[/]'
  7.         'defaults' => array
  8.           'controller' => 'UserController'
  9.           'action' => 'index'
  10.         ), 
  11.       ), 
  12.       'may_terminate' => true, 
  13.       'child_routes' => array
  14.         'profile' => array
  15.           'type' => 'Segment'
  16.           'options' => array
  17.             'route' => '[:id][/]'
  18.             'constraints' => array
  19.               'id' => '[a-zA-Z0-9_-]+' 
  20.             ), 
  21.             'defaults' => array
  22.               'action' => 'get' 
  23.             ), 
  24.           ), 
  25.           'may_terminate' => true, 
  26.           'child_routes' => array
  27.             'blog' => array
  28.               'type' => 'Segment'
  29.               'options' => array
  30.                 'route' => 'blog[/]'
  31.                 'constraints' => array
  32.                 ), 
  33.                 'defaults' => array
  34.                   'action' => 'blog' 
  35.                 ) 
  36.               ), 
  37.               'may_terminate' => true, 
  38.               'child_routes' => array
  39.                 'post' => array
  40.                   'type' => 'Segment'
  41.                   'options' => array
  42.                     'route' => '[:post_id][/]'
  43.                     'constraints' => array
  44.                       'post_id' => '[a-zA-Z0-9_-]+' 
  45.                     ), 
  46.                     'defaults' => array
  47.                       'action' => 'post' 
  48.                     ) 
  49.                   ), 
  50.                   'may_terminate' => true, 
  51.                 ), 
  52.               ), 
  53.             ), 
  54.           ), //profile child_routes end 
  55.         ), //profile end 
  56.       ), //user child_routes end 
  57.     ), //user end 
  58.   ), 
  59. ), 
?
发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表