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
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!