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路由
按讚追蹤 Enjoy 軟體 Facebook 粉絲專頁
每週分享資訊技術

一杯咖啡的力量,勝過千言萬語的感謝。

支持我一杯咖啡,讓我繼續創作優質內容,與您分享更多知識與樂趣!