Toutes les informations reçues par la vue à partir du contrôleur sont automatiquement disponibles dans le gabarit.
Prenons l'exemple d'un gabarit qui utilise une variable nommée $uneVariable.
@if ($uneVariable == 'une valeur')
...
@endif
Si on a une vue unevue.blade.php basée sur ce gabarit, la valeur de la variable sera initialisée dans le contrôleur comme suit :
return View('undossier.unevue', compact('uneVariable');
Attention : tous les contrôleurs qui utilisent une vue basée sur ce gabarit devront passer cette variable à la vue.
Pour des cas particuliers, il est possible de faire le travail inverse : initialiser la variable dans la vue à l'aide d'un paramètre dans l'instruciton @extends.
Ex :
@extends('layouts.app', ['$uneVariable' => 'une valeur']
« Passing data to layouts in Blade through extends ». Sebastian De Deyne. https://sebastiandedeyne.com/posts/2018/passing-data-to-layouts-in-blade-through-extends
▼Publicité