Maison >développement back-end >tutoriel php >Comment attribuer des variables dans les modèles de lame Laravel : @php ou @define personnalisé ?
Attribution de variables dans les modèles Laravel Blade : une solution élégante
Lorsque vous travaillez avec des modèles Laravel Blade, vous pouvez rencontrer le besoin d'attribuer des variables pour utilisation ultérieure dans le modèle. Bien que vous puissiez utiliser la syntaxe {{ }} pour faire écho aux valeurs, cela peut être gênant lorsque vous ne souhaitez pas afficher la variable.
Au lieu de recourir à déclarations, vous disposez d'une option plus élégante :
Utilisation de la directive @php
La directive @php vous permet d'exécuter du code PHP dans un modèle Blade sans faire écho à sa sortie . Cette directive est principalement utilisée pour définir des variables :
@php $old_section = "whatever"; @endphp
Version étendue de @php
Pour plusieurs affectations de variables, vous pouvez utiliser la forme complète de @php directive :
@php $i = 1; $j = 2; @endphp
Version simplifiée de @php
Si vous n'avez besoin de définir qu'une seule variable, vous pouvez utiliser une version simplifiée de la directive @php :
@php($i = 1)
Avancé : balise @define personnalisée
Si vous préférez une syntaxe personnalisée, vous pouvez étendre Blade pour utiliser une balise @define :
\Blade::extend(function($value) { return preg_replace('/\@define(.+)/', '<?php ; ?>', $value); });
Après cette extension, vous pouvez simplement utiliser @define pour attribuer des variables :
@define $i = 1
Cette méthode vous permet d'utiliser une syntaxe plus cohérente avec vos pratiques de codage Laravel. Que vous choisissiez la directive @php par défaut ou la balise @define personnalisée, vous disposez désormais d'un moyen pratique d'attribuer des variables dans vos modèles Blade sans encombrer votre sortie.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!