🎮 Controller — spostare la logica fuori dalle rotte
Scrivere tutta la logica direttamente in web.php (come al Passo 4) diventa disordinato quando l'applicazione cresce. Un controller è una classe PHP dedicata a gestire la logica di una o più rotte, mantenendo web.php pulito e leggibile.
# Artisan genera automaticamente lo scheletro del file controller
php artisan make:controller PaginaController
// app/Http/Controllers/PaginaController.php
namespace App\Http\Controllers;
class PaginaController extends Controller
{
public function chiSiamo()
{
return 'Questa è la pagina Chi Siamo, gestita da un controller.';
}
}
// routes/web.php — ora la rotta punta al metodo del controller, non a una funzione inline
use App\Http\Controllers\PaginaController;
Route::get('/chi-siamo', [PaginaController::class, 'chiSiamo']);
💡 [PaginaController::class, 'chiSiamo'] dice a Laravel: "crea un'istanza di PaginaController e chiama il suo metodo chiSiamo()" — è concettualmente identico a chiamare una funzione PHP, ma organizzato dentro una classe dedicata, coerente con l'approccio OOP già visto nella guida PHP OOP.