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

More PHP tasks

Back to the full Laravel cheat sheet