thinkphp设置路由

本文介绍了ThinkPHP框架中如何设置和使用路由,包括开启路由、配置不同类型的路由规则,如不带参数、带参数、可选参数及完全匹配路由,并强调了实际访问时参数匹配的重要性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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

    // 是否开启路由
    '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"
}

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值