Laravel: Cosa sono le View di laravel
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.
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