Laravel - Vues

Dans le cadre MVC, la lettre “V” signifie Views. Il sépare la logique d'application et la logique de présentation. Les vues sont stockées dansresources/viewsannuaire. Généralement, la vue contient le HTML qui sera servi par l'application.

Exemple

Observez l'exemple suivant pour en savoir plus sur les vues -

Step 1 - Copiez le code suivant et enregistrez-le sur resources/views/test.php

<html>
   <body>
      <h1>Hello, World</h1>
   </body>
</html>

Step 2 - Ajoutez la ligne suivante dans app/Http/routes.php pour définir l'itinéraire pour la vue ci-dessus.

app/Http/routes.php

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

Step 3 - Visitez l'URL suivante pour voir la sortie de la vue.

http://localhost:8000/test

Step 4 - La sortie apparaîtra comme indiqué dans l'image suivante.

Passer des données aux vues

Lors de la création de l'application, il peut être nécessaire de transmettre des données aux vues. Passez un tableau pour afficher la fonction d'assistance. Après avoir passé un tableau, nous pouvons utiliser la clé pour obtenir la valeur de cette clé dans le fichier HTML.

Exemple

Observez l'exemple suivant pour en savoir plus sur la transmission de données aux vues -

Step 1 - Copiez le code suivant et enregistrez-le sur resources/views/test.php

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

Step 2 - Ajoutez la ligne suivante dans app/Http/routes.php pour définir l'itinéraire pour la vue ci-dessus.

app/Http/routes.php

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

Step 3 - La valeur du nom de la clé sera transmise au fichier test.php et $ name sera remplacé par cette valeur.

Step 4 - Visitez l'URL suivante pour voir la sortie de la vue.

http://localhost:8000/test

Step 5 - La sortie apparaîtra comme indiqué dans l'image suivante.

Partage de données avec toutes les vues

Nous avons vu comment nous pouvons transmettre des données aux vues, mais parfois, il est nécessaire de transmettre des données à toutes les vues. Laravel rend cela plus simple. Il existe une méthode appeléeshare()qui peut être utilisé à cet effet. leshare()La méthode prendra deux arguments, clé et valeur. Typiquementshare()peut être appelée à partir de la méthode de démarrage du fournisseur de services. Nous pouvons utiliser n'importe quel fournisseur de services,AppServiceProvider ou notre propre fournisseur de services.

Exemple

Observez l'exemple suivant pour en savoir plus sur le partage de données avec toutes les vues -

Step 1 - Ajoutez la ligne suivante dans app/Http/routes.php fichier.

app/Http/routes.php

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

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

Step 2 - Créez deux fichiers de vue - test.php et test2.phpavec le même code. Ce sont les deux fichiers qui partageront des données. Copiez le code suivant dans les deux fichiers.resources/views/test.php & resources/views/test2.php

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

Step 3 - Changer le code de la méthode de démarrage dans le fichier app/Providers/AppServiceProvider.phpcomme indiqué ci-dessous. (Ici, nous avons utilisé la méthode de partage et les données que nous avons transmises seront partagées avec toutes les vues.)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 les URL suivantes.

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

Step 5 - La sortie apparaîtra comme indiqué dans l'image suivante.