Nel framework MVC, la lettera “V” sta per Views, e in questo articolo vedremo come usare le view in Laravel. Separa la logica dell’applicazione e la logica di presentazione. Le viste sono memorizzate nella directory resources/views . Generalmente, la vista contiene l’HTML che verrà renderizzato nel browser.

Tempo di lettura stimato: 3 minuti

Esempio

Vediamo il seguente esempio per capire di più sulle Views

1 – Copia il seguente codice e salvalo in resources/views/test.blade.php

<html>
   <body>
      <h1>Laravel Blog Innovazione</h1>
   </body>
</html>

2 – Aggiungi la seguente riga nel file routes/web.php per impostare il percorso per la vista sopra.

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

3 – Nel browser apriamo la pagina all’URL per vedere l’output della vista.

http://localhost:8000/test

Come risultato vedremo la scritta “Laravel Blog Innovazione” in titolo h1

L’indirizzo http://localhost:8000/test impostato nel browser porterà nella rotta test specificata nel secondo punto, richiamando la vista test.blade.php specificata nel punto 1.

Passaggio di dati alle viste

Durante la creazione dell’applicazione potrebbe essere necessario passare dei dati alle viste. 

Esempio

Per vedere come avviene il passaggio di dati alle viste, procediamo con un esempio:

1 – Copiamp il seguente codice e salviamolo in resources/views/test.blade.php

<html>
   <body>
      <h1><?php echo $name; ?></h1>
   </body>
</html>

2 – Aggiungiamo la seguente riga nel file routes/web.php per impostare il percorso per la vista sopra.

Route::get('/test', function() {
   return view('test',[‘name’=>’Laravel Blog Innovazione’]);
});

3 – Il valore corrispondente alla chiave 'name' sarà passato al file test.blade.php e $name sarà sostituito da quel valore.

Articoli correlati
Newsletter sull’Innovazione
Non perderti le notizie più importanti sull'Innovazione. Iscriviti per riceverle via e-mail.

4 – Visitiamo il seguente URL per vedere l’output della vista.

http://localhost:8000/test

5 – L’output apparirà nel browser con la stessa scritta del primo esempio, cioè la scritta “Laravel Blog Innovazione” in titolo h1

Condivisione dei dati con tutte le viste

Abbiamo visto come possiamo passare i dati alle viste, ma a volte è necessario passare i dati a tutte le viste. Laravel lo rende più semplice. Esiste un metodo chiamato share() che può essere utilizzato per questo scopo. Il metodo share() prenderà due argomenti, chiave e valore. In genere il metodo share() può essere chiamato dal metodo di avvio del fornitore di servizi. Possiamo utilizzare qualsiasi fornitore di servizi, AppServiceProvider o il nostro service provider.

Esempio

Osserva il seguente esempio per capire di più sulla condivisione dei dati con tutte le viste –

1 – Aggiungi la seguente riga nel file routes/web.php.

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

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

2 – Creiamo due file view: test.blade.php e test2.blade.php con lo stesso codice. Questi sono i due file che condivideranno i dati. Copia il seguente codice in entrambi i file. resources/views/test.blade.php e resources/views/test2.blade.php

<html>
   <body>
      <h1><?php echo $name; ?></h1>
   </body>
</html>

3 – Modificare il codice del metodo di avvio nel file app/Providers/AppServiceProvider.php come mostrato di seguito. (Qui, abbiamo utilizzato il metodo di condivisione e i dati che abbiamo passato saranno condivisi con tutte le viste.) 

app/Providers/AppServiceProvider.php

<?php

namespace App\Providers;
use Illuminate\Support\ServiceProvider;

class AppServiceProvider extends ServiceProvider {
   
   /**
      * Bootstrap any application services.
      *
      * @return void
   */

   public function boot() {
      view()->share('name', 'Laravel Blog Innovazione');
   }

   /**
      * Register any application services.
      *
      * @return void
   */

   public function register() {
      //
   }
}

4 – Visita i seguenti URL.

http://localhost:8000/test
http://localhost:8000/test2

5 – L’output apparirà nel browser con la stessa scritta del primo e del secondo esempio, cioè la scritta “Laravel Blog Innovazione” in titolo h1

Letture Correlate

Ercole Palmeri

Newsletter sull’Innovazione
Non perderti le notizie più importanti sull'Innovazione. Iscriviti per riceverle via e-mail.