laravel基础学习笔记--路由篇

路由篇


在定义一个 post路由请求时,laravel是要求表单提交的,而表单提交中又带有 csrf验证,所以,如果想要测试post请求而又不带验证的,可以在
app /Http/Kernel中注释这一行

\App\Http\Middleware\VerifyCsrfToken::class,

CSRF 保护

指向 web 路由文件中定义的 POST,PUT, PATCH, 或 DELETE 路由的任何 HTML 表单都应该包含一个 CSRF
令牌字段,否则,这个请求将会被拒绝。

定义一个基本路由

Route::get('/user', function () {
    dd('get');
});

定义多种请求的路由

Route::match(['get', 'post'], 'name', function () {
    dd('match');
});

定义重定向路由

Route::redirect('/foo', '/name', 301);//第三个参数为可选参数,是状态码

定义视图路由

//视图路由
Route::view('vie', 'welcome');

view 方法接受一个URI作为第一个参数,一个视图名作为第二个参数。此外,还可以通过第三个可选参数将一个数据数组传递给视图:

Route::view('/welcome', 'welcome', ['name' => 'Taylor']);

定义参数路由 用{}包住是必填路由

//参数路由
Route::get('user/{id}', function ($id) {
    return $id;
});

路由参数如果有多个参数,也是一样,一一对应就可以了

可选路由
用?号就是可选参数,可选参数必须要有默认的值

//可选路由
Route::get('art/{id?}', function ($id = 21) {
    return $id;
});

路由正则表达式

//参数类型限制
Route::get('arts/{id}', function ($id) {
    return "通过" . $id;
})->where('id', '[0-9]+');

命名路由

//命名路由
Route::get('user/files', function () {
    $url = route('files');
    dd($url);
})->name('files');

命名路由也可以用于重定向使用

//命名路由搭配重定向使用
Route::redirect('/cd', 'files');

带参数的路由命名

//带参数的路由命名
Route::get('user/{id}/profile', function ($id) {
    $url = route('user.profile', 25);
    dd($url);
})->name('user.profile');

带参数的路由命名 --多个参数

//带参数的路由命名 --多个参数
Route::get('user/{id}/profile/{name}', function ($id, $name) {
    $url = route('user.profile.name', ['id' => 1, 'name' => 'lis']);
    dd($url);
})->name('user.profile.name');

筛选路由–查看路由列表

php artisan route:list | grep blog
posted @   小信吖  阅读(39)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
点击右上角即可分享
微信分享提示