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.