Utiliser des variables sous Laravel
Utiliser des variables sous Laravel
-
Objectifs
- Connaitre les variables manipulées dans laravel
- Être capable d’utiliser les variables
-
Présentation
- Pour afficher des données dans une vue Blade, il faut les encadrer par des doubles accolades. Il est possible de passer un nombre, une chaîne de caractères ou même le résultat d’une fonction.
- Différentes données affichées
- En coulisse, Blade remplace à l’exécution les doubles accolades par le code PHP nécessaire pour afficher une chaîne de caractères sans risque d’attaque XSS. Blade assure donc une partie de la sécurité de l’affichage, de manière transparente.
- Équivalent PHP de la syntaxe {{$var}}
- Laravel remplace automatiquement ce code Blade :
{{$var}}
- Par ce code PHP :
-
Transmettre des données à afficher dans Laravel
- Laravel propose différentes manières de transmettre des données à une vue. Nous pouvons transmettre des données directement à partir des routes ou via le contrôleur.
- Voici quelques-unes des façons dont nous pouvons transmettre des données à la vue:
-
Utilisation de view ()
- Généralement, il est préférable d’éviter de réaliser les traitements directement dans les vues, particulièrement dans le contexte du patron de conception modèle-vue-contrôleur qui est celui utilisé par Laravel.
- Ainsi, les traitements des données auront lieu dans les fonctions de rappel des routes (et plus tard dans les contrôleurs, qui seront étudiés au chapitre « Organiser grâce aux contrôleurs »). Pour adresser une ou plusieurs variables à une vue, il faut passer en deuxième paramètre de la fonction view ces variables sous la forme d’un tableau associatif, contenant en clé le nom de la variable côté vue et en valeur la variable elle-même.
- Du côté de la route, les variables sont initialisées dans la fonction de rappel et envoyées en paramètres de la vue, tandis que du côté de la vue, les variables sont affichées grâce aux doubles accolades. L’exemple suivant illustre ce fonctionnement en affichant un message de bienvenue aux visiteurs.
- Exemples
-
Fichier routes/web.php
-
Fichier resources/views/bienvenue.blade.php
<p>{{ $une_variable }}<p>
<p>{{ ’une chaine’ }}</p>
<p>{{ time() }} secondes depuis le 01/01/1970</p>
<?php
echo htmlspecialchars(
$var,
ENT_QUOTES,
’UTF-8’,
false
);
?>
Utilisation de view ()
Utilisation with()
Utilisation compact()
Utilisation de Controller Class
Route::get(’bienvenue’, function() {
$name = ’Laure’;
return view(’bienvenue’, [
’name’ => $name,
’date’ => date(’d/m/Y’),
’meteo’ => get_meteo()
]);
}
<h1>Bienvenue {{ $name }}</h1>
<p>
Nous sommes le {{ $date }}
et il fait {{ $meteo }}
</p>