thinkphp设置路由

保证配置文件里面的路由配置是开启状态:

    // 是否开启路由
    'url_route_on'           => true,

在route.php文件内增加:

1、不带参数的路由配置:

Route::rule('/', 'index/Index/index');

则直接访问:http://tp.com/

2、带1个参数的路由配置:

Route::rule('param/:id', 'index/Index/param');

//param方法
public function param()
{
   echo input('id');
}

直接访问:http://tp.com/param/25,浏览器输出:25


3、带多个参数的路由配置:

Route::rule('multiParam/:one/:two', 'index/Index/multiParam');

//multiParam方法代码
   public function multiParam()
   {
       echo input('one').' '.input('two');
   }

直接访问:http://tp.com/multiParam/30/28,浏览器输出:30 28

注意:路由设置几个参数,那么实际访问时一定要带几个参数,不然会报错。

4、可选参数路由配置:

Route::rule('multiParam/:one/[:two]', 'index/Index/multiParam');

//multiParam方法代码
   public function multiParam()
   {
       echo input('one').' '.input('two');
   }

浏览器访问:http://tp.com/multiParam/30,不报错,输出30

5、完全匹配路由

Route::rule('multiParam/:one/:two$', 'index/Index/multiParam');

后面加个$符号,浏览器访问的时候必须完全匹配才可以成功访问

举个例子:

http://tp.com/multiParam/30/28 成功访问

http://tp.com/multiParam/30/28/36 报错(如果设置的路由不加$符号的话,这样是成功的)

6、带额外参数设置路由

Route::rule('extraParam', 'index/Index/extraParam?name=zhangsan');
   //带额外参数
   public function extraParam()
   {
       dump(input());
   }

浏览器输出:

array(1) {
  ["name"] => string(8) "zhangsan"
}

 

你可能感兴趣的:(thinkphp)