diff --git a/blog/laravel/index.md b/blog/laravel/index.md index 2c45b8c7d210a57795bb3c38fa88d30cc04652ad..83f0c50a7214e1e4c57317f96a0630d8aed6338e 100644 --- a/blog/laravel/index.md +++ b/blog/laravel/index.md @@ -5,6 +5,19 @@ - 链接:https://pan.baidu.com/s/1Y_o3RdUEsrj6tHchMwY3Mg - 提取码:f4qz +配置 Makefile 文件 + +```bash +# 申明伪目标 +.PHONY: dev + +# make dev +dev: + php8 artisan serve +``` + +## 目录 + [安装Laravel编程环境](blog/laravel/install-php.md) -[Route路由](blog/laravel/route.md) \ No newline at end of file +[Route路由](/blog/laravel/route.md) diff --git a/blog/laravel/route.md b/blog/laravel/route.md index ae9e5903a4a98e639293f77b949ebcb06d63f4dd..05455d8aef4c30cd5a7bd3239c4c82b5e17ebb9a 100644 --- a/blog/laravel/route.md +++ b/blog/laravel/route.md @@ -412,4 +412,214 @@ class TaskController extends Controller Route::get('/task',[TaskController::class, 'index']); ``` -https://www.bilibili.com/video/BV1gE411j78F?p=6&spm_id_from=pageDriver \ No newline at end of file +## 响应和重定向 + +1、响应 +```php +// 返回文本字符串 +return 'index'; +return response('index'); + +// 自定义http状态码 +return response('index', 201); + +// 修改响应头为纯文本 +return response('

index

') + ->header( + 'Content-Type', + 'text/pain; charset=UTF-8' + ); + +//返回json +return [1, 2, 3]; +return response([1, 2, 3]); +return response()->json([1, 2, 3]); +``` + +2、路由重定向 + +```php +// 简写 +return redirect('/'); + +// 完整形式 +return redirect()->to('/'); + +// facade模式 +return Redirect::to('/'); + +// 通过命名路由跳转 +return redirect()->route('index'); + +// 回退到上一页 +return redirect()->back(); +return back(); + +// 跳转到控制器方法 +return redirect()->action([TaskController::class, 'read']); + +// 跳转到外部链接 +return redirect()->away('https://www.baidu.com/'); +``` + + +## 资源控制器 + +命令行生成资源路由 + +```bash +php8 artisan make:controller BlogController --resource +``` + +资源控制器会产生7个方法 + +```php +only(['index', 'create']); + +// 排除生成 +Route::resource('blogs', BlogController::class) + ->except(['index', 'create']); +``` + +API 路由 + +```php +Route::ApiResource('blogs', BlogController::class); +``` + +直接使用 api 资源路由 +```bash +# 不包含 create 或 edit 方法 +php artisan make:controller CommentController --api +``` + +https://www.bilibili.com/video/BV1gE411j78F?p=8&spm_id_from=pageDriver&vd_source=efbb4dc944fa761b6e016ce2ca5933da \ No newline at end of file diff --git a/doc/php.md b/doc/php.md index 6bfdcd11fe13d40dfd918e4b821c23def29cf23f..60e8791ad60b23fc80931e61d18ebde457327313 100644 --- a/doc/php.md +++ b/doc/php.md @@ -4,7 +4,7 @@ [笔记:PHP 零基础入门到精通教程(P2 mysql 数据库 5 天)](blog/php-mysql/index.md) -[Laravel](blog/laravel/index.md) +[Laravel](/blog/laravel/index.md) ## 文章