Developer Guideline
  • Home
  • Must you know
    • Algorithm
    • Architecture
      • API
    • Comparison
      • ID Token vs Access Token
      • Lazy Loading vs Eager Loading
      • Morphs vs Foreign Key
      • UUID vs ULID
      • GraphQL vs REST
      • Cache vs CDN
      • Concurrency vs Parallelism
      • Null vs Not Null
    • Diagram
      • CI/CD Pipeline
      • High Performance Culture
  • Laravel
    • Template
      • Template System Check in Route on Laravel
      • Template Function in FormController on Laravel
      • Template Route call FormController on Laravel
      • Template Route Prefix Name on Laravel
      • Template Basic and Custom Pagination on Laravel
      • Template PHP Artisan Command
      • Template Route for App Environment
    • Feature
      • Data Type
      • Mailables
      • Rules
    • Package
    • Bookmark
  • Collaboration Agreement
    • Naming Convention
      • Naming Convention for Git Branch
      • Naming Convention for Environment Variable
    • Rule
      • Rule of Commit Message
      • Semantic Versioning
  • Project Manager
    • Requirements
      • System Requirements
      • Technical Requirements
      • Functional Requirements
  • WEBSITE
    • Template
      • Template File Size
    • Plugin
Powered by GitBook
On this page
  • 🐝 Default Route
  • 🪲 Check Route
  • 🐞 Make Middleware
  • 🕷️ Update Route Service Provider
  1. Laravel
  2. Template

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'));
});

PreviousTemplate PHP Artisan CommandNextFeature

Last updated 3 months ago