Controllers in Laravel sono classi responsabili della gestione della logica dell'applicazione e della facilitazione dell'interazione tra modelli e viste. Controllers aiuta a separare la logica dell'applicazione dall'interfaccia utente, creando una struttura di progetto chiara e gestibile.
Crea controllore
Per creare un controller in Laravel, puoi utilizzare Laravel il comando Artisan di. Ad esempio, per creare un controller denominato UserController, puoi eseguire il seguente comando nel terminale:
php artisan make:controller UserController
Una volta creato il controller, è possibile definire i metodi di gestione all'interno del controller. Ad esempio, nel index() metodo è possibile recuperare i dati da un modello e passarli a una vista per la visualizzazione:
namespace App\Http\Controllers;
use App\Models\User;
use Illuminate\Http\Request;
class UserController extends Controller
{
public function index()
{
$users = User::all();
return view('users.index', ['users' => $users]);
}
// Other handling methods
}
Nell'esempio precedente, utilizziamo il User modello per recuperare i dati dell'utente dal database. Quindi passiamo questi dati alla users.index vista per visualizzare un elenco di utenti.
Controllers supportano anche metodi come store(), update() e delete() per gestire la creazione, l'aggiornamento e l'eliminazione dei dati. È possibile interagire con il database attraverso questi metodi.
HUsing controller in route
Per utilizzare a controller in route, è possibile specificare il controller nome e il metodo corrispondente nel routes/web.php file.
use App\Http\Controllers\UserController;
Route::get('/users', [UserController::class, 'index']);
In questo esempio, quando un utente accede all'URL /users, Laravel chiamerà il index() metodo in UserController per gestire la richiesta.
Creare una vista per la schermata dell'elenco utenti
Per creare il users.index file, puoi usare il seguente comando:
php artisan make:view users.index
Questo comando creerà un index.blade.php file nella resources/views/users directory.
Una volta creato il file, puoi aprirlo index.blade.php e progettare l'interfaccia per la users.index pagina. È possibile utilizzare la sintassi Blade per creare la struttura HTML e visualizzare i dati dal controller.
<!-- resources/views/users/index.blade.php -->
@extends('layouts.app')
@section('content')
<h1>Users</h1>
<ul>
@foreach($users as $user)
<li>{{ $user->name }}</li>
@endforeach
</ul>
@endsection
Nell'esempio sopra, usiamo il app.blade.php layout attraverso @extends('layouts.app'). Il contenuto della pagina è definito all'interno @section('content') e visualizza un elenco di utenti dalla $users variabile all'interno di un @foreach ciclo.
Per utilizzare la users.index pagina, è necessario definire la route corrispondente nel routes/web.php file per puntare al metodo nel controller e restituire la users.index vista.
In sintesi, controllers in Laravel aiuto separare la logica dell'applicazione e gestire l'elaborazione dei dati. Utilizzando controllers, puoi creare applicazioni potenti e gestibili in Laravel.

