Template Route for App Environment

ตัวอย่าง Route ปิดการทำงาน Route Check ไม่ให้สามารถเรียกใช้งานได้บน App Environment ที่เป็น Production แต่บน App Environment อื่นๆ สามารถเรียกใช้งานได้ปกติ

🐝 Default Route

web.php
use Illuminate\Support\Facades\Route;

Route::get('/', function () {
    return view('welcome');
});

🪲 Check Route

check.php
use Illuminate\Support\Facades\Route;

Route::middleware(['env:local,development,testing,staging'])->prefix('check')->group(function () {
    Route::get('/phpinfo', function () {
        phpinfo();
    });
});

🐞 Make Middleware

php artisan make:middleware RouteMiddleware
RouteMiddleware.php
public function handle(Request $request, Closure $next, $env): Response
{
    if (!in_array(app()->environment(), explode(',', $env))) {
        abort(403, 'Access Denied');
    }

    return $next($request);
}

🕷️ Update Route Service Provider

RouteServiceProvider.php
$this->routes(function () {
    Route::middleware('api')
        ->prefix('api')
        ->group(base_path('routes/api.php'));

    Route::middleware('web')
        ->group(base_path('routes/web.php'));

    Route::middleware('web')
        ->group(base_path('routes/check.php'));
});

Last updated