定义路由

如何自定义路由

路由定义采用\think\Route类,通常是在应用的路由配置文件application/route.php进行注册

use think\Route;// 注册路由到index模块的News控制器的read操作

Route::rule('new/:id','index/News/read');

我们访问:

http://serverName/new/5

http://serverName/index/news/read/id/5

可以在rule方法中指定请求类型,不指定的话默认为任何请求类型

Route::rule('new/:id','News/update','POST');

 

 

系统提供了为不同的请求类型定义路由规则的简化方法,

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'); // 所有请求都支持的路由规则

批量注册

Route::rule([

'路由规则1'=>'路由地址和参数',

'路由规则2'=>['路由地址和参数','匹配参数(数组)','变量规则(数组)']

...

],'','请求类型','匹配参数(数组)','变量规则');

定义路由配置文件

除了支持动态注册,也可以直接在应用目录下面的route.php 的最后通过返回数组的方式直接定义路由规则。路由动态注册和配置定义的方式可以共存

return [

    'new/:id'   => 'News/read',

'blog/:id'   => ['Blog/update',['method' => 'post|put'], ['id' => '\d+']],

];

posted @ 2021-01-13 10:49  孙旋  阅读(146)  评论(0编辑  收藏  举报