Performance: Why controllers organize request handling
MEDIUM IMPACT
This affects how efficiently the server processes requests and how quickly responses are generated, impacting server response time and user experience.
<?php // app/Http/Controllers/UserController.php namespace App\Http\Controllers; use Illuminate\Http\Request; use Illuminate\Support\Facades\DB; class UserController extends Controller { public function index() { $users = DB::table('users')->get(); return view('users.index', ['users' => $users]); } public function store(Request $request) { DB::table('users')->insert(['name' => $request->name]); return redirect('/users'); } } // routes/web.php use App\Http\Controllers\UserController; Route::get('/users', [UserController::class, 'index']); Route::post('/users', [UserController::class, 'store']);
<?php // routes/web.php use Illuminate\Http\Request; use Illuminate\Support\Facades\DB; Route::get('/users', function () { $users = DB::table('users')->get(); return view('users.index', ['users' => $users]); }); Route::post('/users', function (Request $request) { DB::table('users')->insert(['name' => $request->name]); return redirect('/users'); });
| Pattern | Code Duplication | Server Processing | Maintainability | Verdict |
|---|---|---|---|---|
| Inline route logic | High duplication | Slower due to repeated code | Hard to maintain | [X] Bad |
| Controller-based handling | Low duplication | Faster with centralized logic | Easy to maintain | [OK] Good |