Introduction
Le moteur de modélisation Blade a changé la donne pour moi. Avec Blade, travailler avec du PHP et du HTML devient un jeu d’enfant. Il vous permet d’utiliser du code PHP simple directement dans votre modèle.
Dans la plupart des cas, vous passerez vos variables de votre contrôleur à vos vues Blade, mais vous pourriez vouloir définir une variable directement dans votre vue Blade dans certains cas.
Dans ce tutoriel, vous apprendrez comment définir directement une variable dans votre modèle Laravel Blade!
Retourner une variable à partir d’un contrôleur
Vous pouvez passer des variables au contrôleur view
directement depuis votre contrôleur ou votre route dans certains cas.
La syntaxe est la suivante :
return view('dashboard', ['name' => 'Gekko']);
La phrase ci-dessus renverra la valeur dashboard.blade.php
et une variable appelée $name
dont la valeur est Gekko
sera disponible et vous pourrez l’appeler comme ceci dans votre vue :
<p> Welcome on board {{ $name }}!</p>
Par défaut, cette fonction échappe toutes les balises HTML, mais si vous avez besoin de rendre les balises HTML, vous pouvez suivre les étapes de cette procédure ici :
Alternativement, vous pouvez utiliser la fonction compact
pour transmettre plusieurs variables de votre contrôleur à votre vue :
$name = 'Gekko';
$twitter = 'gekkode';
return view('dashboard', compact('name', 'twitter'));
Maintenant que nous avons couvert ce point, voici comment vous pouvez définir une variable directement dans votre modèle Blade plutôt que de la passer depuis votre contrôleur.
Définir des variables dans le modèle Blade de Laravel
Comme vous pouvez utiliser du PHP directement dans votre modèle Blade, tout ce que vous devez faire pour définir une nouvelle variable est d’utiliser la syntaxe suivante dans votre vue :
@php
$name = "Gekko";
@endphp
<p>Hi there {{ $name }} 👋</p>
Grâce à l’outil @php
vous pouvez écrire du PHP pur directement dans votre vue. Malgré cela, il serait probablement préférable de conserver toute logique complexe dans votre contrôleur. Néanmoins, dans certains cas, il est très pratique d’avoir cette option.
Vous pouvez aussi utiliser les balises d’ouverture et de fermeture générales de PHP, mais je préfère m’en tenir au bloc Blade PHP :
<?php
$name = "Gekko";
?>