thinkphp5-路由

在thinkphp5中,url的访问有三种模式

1. 如果一个URL没有定义路由,则采用默认的PATH_INFO 模式访问URL:

http://serverName/index.php/module/controller/action/param/value/...

return [
    '__pattern__' => [
        'name' => '\w+',
    ],
    '[hello]'     => [
        ':id'   => ['index/hello', ['method' => 'get'], ['id' => '\d+']],
        ':name' => ['index/hello', ['method' => 'post']],
    ],

];
2. 强制路由模式:

app.php配置文件中设置

'url_route_must'		=>  true,

将开启强制使用路由,这种方式下面必须严格给每一个访问地址定义路由规则(包括首页),否则将抛出异常。

  1. 首页的路由规则采用/定义即可,例如下面把网站首页路由输出Hello,world!
    Route::get('/', function () { return 'Hello,world!'; });
  2. 路由定义格式:Route::rule('路由表达式','路由地址','请求类型','路由参数(数组)','变量规则(数组)');
  3. 动态路由注册必须使用think的Route类。
  4. 请求类型类型可以有多种,get,post,put,delete,patch,any(请求类型参数不区分大小写。)
  5. 路由参数(数组)请参照官方文档thinkphp5.1开发文档-路由参数
use think\Route;

Route::rule('路由表达式','路由地址','请求类型','路由参数(数组)','变量规则(数组)');

Route::rule('hello','sample/Test/hello','GET');
Route::rule('hello','sample/Test/hello','GET|POST');
//请求的快捷注册方式
Route::快捷方法名('路由表达式','路由地址');
Route::get('new/:id','News/read'); // 定义GET请求路由规则
Route::post('new/:id','News/update'); // 定义POST请求路由规则
Route::put('new/:id','News/update'); // 定义PUT请求路由规则
Route::delete('new/:id','News/delete'); // 定义DELETE请求路由规则
Route::any('new/:id','News/read'); // 所有请求都支持的路由规则;
3. 混合模式:

混合模式是指在route.php文件中,有的接口是可以使用传统的tp5path_info的访问形式,有的接口是可以使用路由的访问形式。(但是对于同一个接口来说,定义了路由的访问形式,传统的path_info访问形式就失效了。)

以上是简单的tp5的路由,还有很多点没涉及到,等用到了再细说,具体参照文档tp5路由

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值