Guida per Principianti su Laravel - Viste

Ciao a tutti, futuri sviluppatori Laravel! Oggi esploreremo una delle parti più affascinanti di Laravel - le Viste. Non preoccupatevi se non avete mai programmato prima; vi guiderò passo per passo attraverso tutto. Alla fine di questo tutorial, sarete in grado di creare bellissime pagine web come un professionista!

Laravel - Views

Cos'è una Vista?

Le Viste in Laravel sono come il volto piacevole della vostra applicazione. Sono responsabili di ciò che gli utenti vedono effettivamente quando visitano il vostro sito web. Pensate alle viste come ai template HTML che presentano i vostri dati in un modo user-friendly.

Creare la Tua Prima Vista

Iniziamo con un esempio semplice. Immagina di voler creare una pagina di benvenuto per il tuo sito web. Ecco come fare:

  1. Navigate nella directory resources/views del tuo progetto Laravel.
  2. Create un nuovo file chiamato welcome.blade.php.
  3. Aggiungi il seguente codice:
<!DOCTYPE html>
<html>
<head>
<title>Benvenuto sul Mio Sito</title>
</head>
<body>
<h1>Ciao, Mondo!</h1>
<p>Benvenuto nel mio fantastico sito Laravel.</p>
</body>
</html>

Questa è una struttura HTML di base con un messaggio di benvenuto caloroso. L'estensione .blade.php indica a Laravel di utilizzare il suo motore di template, Blade, che esploreremo più avanti.

Renderizzare la Vista

Ora che abbiamo la nostra vista,mostriamola quando qualcuno visita il nostro sito web. Nel file routes/web.php, aggiungi questo codice:

Route::get('/', function () {
return view('welcome');
});

Questo dice a Laravel: "Quando qualcuno visita la homepage, mostragli la vista 'welcome'."

Passare Dati alle Viste

Le viste sono fantastiche, ma diventano veramente potenti quando possiamo inserire dati dinamicamente. Vediamo come possiamo fare questo.

Passaggio di Dati Semplice

Immagina di voler personalizzare il nostro messaggio di benvenuto. Possiamo passare dati alla nostra vista così:

Route::get('/', function () {
$name = "Sarah";
return view('welcome', ['name' => $name]);
});

Ora, aggiorniamo il nostro welcome.blade.php per utilizzare questi dati:

<!DOCTYPE html>
<html>
<head>
<title>Benvenuto sul Mio Sito</title>
</head>
<body>
<h1>Ciao, {{ $name }}!</h1>
<p>Benvenuto nel mio fantastico sito Laravel.</p>
</body>
</html>

La sintassi {{ $name }} è il modo di Blade per echo dei dati. Quando visiti la pagina ora, vedrai "Ciao, Sarah!" invece di "Ciao, Mondo!".

Passaggio di Variabili Multiple

Possiamo passare quante variabili我们需要. Aggiungiamo un paio:

Route::get('/', function () {
$data = [
'name' => "Sarah",
'age' => 28,
'hobbies' => ['leggere', 'programmare', 'escursionismo']
];
return view('welcome', $data);
});

E aggiorniamo la nostra vista:

<!DOCTYPE html>
<html>
<head>
<title>Benvenuto sul Mio Sito</title>
</head>
<body>
<h1>Ciao, {{ $name }}!</h1>
<p>Benvenuto nel mio fantastico sito Laravel.</p>
<p>Hai {{ $age }} anni.</p>
<p>I tuoi hobby sono:</p>
<ul>
@foreach($hobbies as $hobby)
<li>{{ $hobby }}</li>
@endforeach
</ul>
</body>
</html>

Qui, abbiamo introdotto una direttiva Blade @foreach per iterare attraverso l'array hobbies. Blade rende facilissimo lavorare con i dati nelle viste!

Condividere Dati con Tutte le Viste

A volte, potresti voler condividere dati con tutte le viste della tua applicazione. Ad esempio, potresti voler visualizzare il nome dell'utente corrente nella barra di navigazione su ogni pagina.

Utilizzare i View Composers

Laravel fornisce una funzionalità chiamata View Composers per questo scopo. Ecco come puoi usarla:

  1. Crea un nuovo file app/Providers/ViewServiceProvider.php (se non esiste già).
  2. Aggiungi il seguente codice:
<?php

namespace App\Providers;

use Illuminate\Support\ServiceProvider;
use Illuminate\Support\Facades\View;

class ViewServiceProvider extends ServiceProvider
{
public function boot()
{
View::composer('*', function ($view) {
$view->with('currentUser', 'John Doe');
});
}
}
  1. Registra questo provider in config/app.php:
'providers' => [
// Altri provider...
App\Providers\ViewServiceProvider::class,
],

Ora, $currentUser sarà disponibile in tutte le tue viste!

Conclusione

Le viste sono il cuore dell'interfaccia utente della tua applicazione Laravel. Consentono di separare la logica di presentazione dalla logica di business, rendendo il tuo codice più pulito e manutenibile. Ricorda, la pratica fa perfezione, quindi non aver paura di sperimentare con diversi layout e tecniche di passaggio dei dati!

Ecco una tabella di riepilogo dei metodi che abbiamo coperto:

Metodo Descrizione
view('name') Restituisce una vista
view('name', ['key' => 'value']) Restituisce una vista con dati
View::composer('*', function) Condivide dati con tutte le viste

Buon coding, e possa le tue viste essere sempre mozzafiato! ?

Credits: Image by storyset