Controllers & Requests in PHP
From the Laravel cheat sheet · Controllers · verified Jul 2026
Controllers & Requests
Controller structure and request handling
php
<?php
namespace App\Http\Controllers;
use App\Models\User;
use Illuminate\Http\Request;
class UserController extends Controller
{
public function index()
{
$users = User::paginate(15);
return view('users.index', compact('users'));
}
public function store(Request $request)
{
$validated = $request->validate([
'name' => 'required|string|max:255',
'email' => 'required|email|unique:users',
'password' => 'required|min:8|confirmed',
]);
$user = User::create($validated);
return redirect()->route('users.show', $user);
}
}💡 Use Form Requests for complex validation logic
⚡ Route model binding automatically injects models
📌 Laravel 11+ base controller is empty - use Gate::authorize() and the HasMiddleware interface
🔥 Use resources for consistent API responses