Laravel 擴充 Route 進行多檔管理
分類
建立時間: 2024年2月1日 10:37
更新時間: 2024年2月1日 11:01
說明
原本 routes 資料夾底下有一個 api.php
但我覺得一個檔案管理所有的 api 路由有點龐大,於是我將擴充路由,讓系統可以讀取多個路由檔案,而且都屬於 api 路由。
建立 apis 資料夾
建立 routes/apis
資料夾,此資料夾底下的所有檔案都會是屬於 api 路由,你可以繼續在 apis 資料夾底下建立子資料夾。
實作擴充功能
app\Providers\RouteServiceProvider.php
<?php
namespace App\Providers;
use Illuminate\Foundation\Support\Providers\RouteServiceProvider as ServiceProvider;
use Illuminate\Support\Facades\Route;
class RouteServiceProvider extends ServiceProvider
{
public function boot(): void
{
$this->routes(function () {
Route::middleware('api')
->prefix('api')
->group(base_path('routes/api.php'));
foreach (glob(base_path('routes/apis/*/*.php')) as $routeFile) {
Route::middleware('api')
->prefix('api')
->group($routeFile);
}
});
}
}
最主要的部份就是 boot()
將 apis 資料夾底下所有的檔案都添加進 api 路由,也就是 foreach (glob(base_path('routes/apis/*/*.php')) as $routeFile)
的部分,而原本的 api.php
你可以繼續保留著,畢竟是原生的功能,別亂刪除比較妥當。
以上就已經擴充好 api 路由的功能。
使用
在 routes/apis
資料夾底下建立任意數量的路由 php 檔,就跟以往一樣進行路由設定即可。
觀看次數: 801
apilaravelrouteroutes路由
一杯咖啡的力量,勝過千言萬語的感謝。
支持我一杯咖啡,讓我繼續創作優質內容,與您分享更多知識與樂趣!