Laravel - Viste
Nel framework MVC, la lettera “V” sta per Views. Separa la logica dell'applicazione e la logica di presentazione. Le viste vengono memorizzate inresources/viewsdirectory. Generalmente, la vista contiene l'HTML che verrà servito dall'applicazione.
Esempio
Per saperne di più sulle visualizzazioni, osserva il seguente esempio:
Step 1 - Copia il codice seguente e salvalo in resources/views/test.php
<html>
<body>
<h1>Hello, World</h1>
</body>
</html>
Step 2 - Aggiungi la seguente riga app/Http/routes.php file per impostare il percorso per la vista sopra.
app/Http/routes.php
Route::get('/test', function() {
return view('test');
});
Step 3 - Visita il seguente URL per vedere l'output della visualizzazione.
http://localhost:8000/test
Step 4 - L'output apparirà come mostrato nell'immagine seguente.
Passaggio di dati alle viste
Durante la creazione dell'applicazione potrebbe essere necessario trasferire i dati alle viste. Passa un array per visualizzare la funzione di supporto. Dopo aver passato un array, possiamo usare la chiave per ottenere il valore di quella chiave nel file HTML.
Esempio
Osservare il seguente esempio per saperne di più sul passaggio di dati alle visualizzazioni:
Step 1 - Copia il codice seguente e salvalo in resources/views/test.php
<html>
<body>
<h1><?php echo $name; ?></h1>
</body>
</html>
Step 2 - Aggiungi la seguente riga app/Http/routes.php file per impostare il percorso per la vista sopra.
app/Http/routes.php
Route::get('/test', function() {
return view('test',[‘name’=>’Virat Gandhi’]);
});
Step 3 - Il valore del nome della chiave verrà passato al file test.php e $ name sarà sostituito da quel valore.
Step 4 - Visita il seguente URL per vedere l'output della visualizzazione.
http://localhost:8000/test
Step 5 - L'output apparirà come mostrato nell'immagine seguente.
Condivisione dei dati con tutte le viste
Abbiamo visto come passare i dati alle visualizzazioni, ma a volte è necessario passare i dati a tutte le visualizzazioni. Laravel lo rende più semplice. C'è un metodo chiamatoshare()che può essere utilizzato per questo scopo. Ilshare()metodo prenderà due argomenti, chiave e valore. Tipicamenteshare()metodo può essere chiamato dal metodo di avvio del fornitore di servizi. Possiamo utilizzare qualsiasi fornitore di servizi,AppServiceProvider o il nostro fornitore di servizi.
Esempio
Osservare il seguente esempio per capire di più sulla condivisione dei dati con tutte le visualizzazioni:
Step 1 - Aggiungi la seguente riga app/Http/routes.php file.
app/Http/routes.php
Route::get('/test', function() {
return view('test');
});
Route::get('/test2', function() {
return view('test2');
});
Step 2 - Crea due file di visualizzazione - test.php e test2.phpcon lo stesso codice. Questi sono i due file che condivideranno i dati. Copia il codice seguente in entrambi i file.resources/views/test.php & resources/views/test2.php
<html>
<body>
<h1><?php echo $name; ?></h1>
</body>
</html>
Step 3 - Cambia il codice del metodo di avvio nel file app/Providers/AppServiceProvider.phpcome mostrato di seguito. (Qui, abbiamo utilizzato il metodo di condivisione ei dati che abbiamo passato verranno condivisi con tutte le visualizzazioni.)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', 'Virat Gandhi');
}
/**
* Register any application services.
*
* @return void
*/
public function register() {
//
}
}
Step 4 - Visit i seguenti URL.
http://localhost:8000/test
http://localhost:8000/test2
Step 5 - L'output apparirà come mostrato nell'immagine seguente.