VI. Chapitre 6 : Les vues▲
Nous avons bien avancé dans notre découverte de Laravel 4. Nous savons gérer les URL et les entrées. Mais pour les réponses nous nous sommes pour le moment contentés de choses sommaires. Nous allons voir à présent comment créer des réponses élaborées avec les vues.
VI-A. Une vue simple▲
Il faut comprendre une vue dans le sens du modèle MVC. Pour respecter ce modèle une vue ne doit comporter que ce qui est nécessaire et suffisant pour afficher la réponse chez le client. Dans la structure de Laravel les vues doivent se placer dans le dossier app/views :
À la base une vue est juste du code HTML. Créez un fichier PHP avec ce code et enregistrez-le avec le nom bonjour.php dans le dossier app/views :
<h1>Bonjour !</h1>
Créez ensuite cette route :
Entrez cet URL : http://localhost/laravel/public/bonjour
Vous devez obtenir cet affichage :
VI-A-1. Des paramètres▲
Les vues seraient vraiment peu utiles si on ne pouvait pas leur transmettre de paramètre. Modifions notre vue pour lui ajouter une variable :
Il y a deux façons pour transmettre une variable, voyons la première avec cette route :
Résultat avec l'URL http://localhost/laravel/public/bonjour/Alfred :
Voici une seconde syntaxe pour un résultat identique :
VI-A-2. Une sous-vue▲
On peut imbriquer une vue dans une autre. Voici par exemple une vue que nous allons appeler sous_vue.php :
Créons une deuxième vue que nous appelons bonjour.php :
Et enfin une route :
Entrons l'URL http://localhost/laravel/public/bonjour/Albert.
Nous obtenons :
VI-A-3. Le composeur de vue▲
Imaginez maintenant que vous voulez lier des données à une vue chaque fois que vous la chargez. Évidemment vous pouvez écrire le code correspondant directement à chaque appel, mais il existe une autre possibilité basée sur la gestion d'un événement. Voici un exemple pour en comprendre le fonctionnement. Commencez par créer une première vue que vous appelez header.php :
<h1>Bienvenue !</h1>
Créez une deuxième vue que vous appelez bonjour.php :
Dans le fichier des routes créez ce code :
Maintenant si vous utilisez l'URL http://localhost/laravel/public/bonjour/Jean vous obtenez :
Vous pouvez, avec cette méthode aussi, attacher des données systématiquement à une vue chaque fois que vous la chargez. Prenons un exemple avec la vue bonjour.php :
Avec ce code dans les routes :
Maintenant si vous utilisez l'URL http://localhost/laravel/public/bonjour/Jean, vous obtenez :