From edbb60efd7c2d2d1205dfa86eb664f05ab3976b4 Mon Sep 17 00:00:00 2001 From: pengshiyu <1940607002@qq.com> Date: Tue, 28 Jun 2022 09:22:32 +0800 Subject: [PATCH] fix --- .nvmrc | 2 +- blog/laravel/route.md | 202 +++++++++++++++++++++++++++++++++++++++++- 2 files changed, 202 insertions(+), 2 deletions(-) diff --git a/.nvmrc b/.nvmrc index 7f78487..e2838c8 100644 --- a/.nvmrc +++ b/.nvmrc @@ -1 +1 @@ -v12.22.6 +v16.14.0 \ No newline at end of file diff --git a/blog/laravel/route.md b/blog/laravel/route.md index 8d82c56..ae9e590 100644 --- a/blog/laravel/route.md +++ b/blog/laravel/route.md @@ -212,4 +212,204 @@ class TaskController extends Controller } ``` -https://www.bilibili.com/video/BV1gE411j78F?p=4&spm_id_from=pageDriver&vd_source=efbb4dc944fa761b6e016ce2ca5933da \ No newline at end of file + +## 路由命名 + +```php +// 指定路由的名称 +Route::get('/task', function(){ + return 'task'; +})->name('index.task'); + +// 使用助手函数生成URL(URL是URI的子集) +Route::get('/url', function(){ + return route('index.task'); + // http://127.0.0.1:8000/task +}); + +// 传参 +Route::get('/url', function(){ + return route('index.task', ['name'=> 'Tom']); + // http://127.0.0.1:8000/task?name=Tom +}); + +// 路由跳转 +Route::get('/url', function(){ + return redirect()->route('index.task', ['name'=> 'Tom']); + // 跳转地址:http://127.0.0.1:8000/task?name=Tom +}); + +// 生成相对地址 +Route::get('/url', function(){ + return route('index.task', ['name'=> 'Tom'], false); + // /task?name=Tom +}); +``` + +## 路由分组 + +```php +// 添加路由前缀 +Route::group(['prefix' => 'api'], function () { + // http://127.0.0.1:8000/api/index + Route::get('/index', function () { + return 'index'; + }); + + // http://127.0.0.1:8000/api/task + Route::get('/task', function () { + return 'task'; + }); +}); + + +// 等价于(推荐) +Route::prefix('api')->group(function () { + // http://127.0.0.1:8000/api/index + Route::get('/index', function () { + return 'index'; + }); + + // http://127.0.0.1:8000/api/task + Route::get('/task', function () { + return 'task'; + }); +}); + +// 路由中间件 +Route::middleware('middleware')->group(function () {}); + +// 子域路由 +Route::domain('127.0.0.1')->group(function () {}); + +// 命名空间 +Route::namespace('Admin')->group(function () {}); + +// 路由名称前缀 +Route::name('admin.')->group(function () { + Route::get('/task', function () { + return 'task'; + })->name('task'); + // admin.task +}); +``` + +## 单动作控制器 + +```bash +php artisan make:controller OneController --invokable +``` + +```php +name('index.task'); +``` + +### 当前路由指向的方法 + +```php +