tp6-路由

路由是各种框架中比较重要的环节。
use think\facade\Route;
Route::rule('new/:id','News/read','GET|POST');

|类型| 描述 |快捷方法|
|:----:|:----:|:----:|:----:|
|GET| GET请求| get|
|POST| POST请求| post|
|PUT| PUT请求| put|
|DELETE| DELETE请求| delete|
|PATCH| PATCH请求| patch|
|*| 任何请求类型| any|

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('/', 'index'); // 首页访问路由
Route::rule('my', 'Member/myinfo'); // 静态地址路由
Route::rule('blog/:id', 'Blog/read'); // 静态地址和动态地址结合
Route::rule('new/:year/:month/:day', 'News/read'); // 静态地址和动态地址结合
Route::rule(':user/:blog_id', 'Blog/read'); // 全动态地址

Route::get('blog/:year/[:month]','Blog/archive');
// 或者
Route::get('blog/<year>/<month?>','Blog/archive');

// 重定向路由
Route::redirect('blog/:id', 'http://blog.thinkphp.cn/read/:id', 302);

// 对于不存在的static目录下的资源文件设置404访问
Route::get('static', response()->code(404));

每个参数中可以包括动态变量,例如:变量或者<变量>都表示动态变量(新版推荐使用第二种方式,更利于混合变量定义),并且会自动绑定到操作方法的对应参数。可选参数只能放到路由规则的最后,如果在中间使用了可选参数的话,后面的变量都会变成可选参数。

Route::view('hello/:name', 'index/hello', ['city'=>'shanghai']);
在模板中可以输出name和city两个变量。
Hello,{$name}--{$city}!

跨域请求,公司系统与系统之间的调用会产生跨域

Route::get('new/:id', 'News/read')
    ->ext('html')
    ->allowCrossDomain();

跨域请求一般会发送一条OPTIONS的请求,一旦设置了跨域请求的话,不需要自己定义OPTIONS请求的路由,系统会自动加上。

Access-Control-Allow-Origin:*
Access-Control-Allow-Methods:GET, POST, PATCH, PUT, DELETE
Access-Control-Allow-Headers:Authorization, Content-Type, If-Match, If-Modified-Since, If-None-Match, If-Unmodified-Since, X-Requested-With
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容