Attribuer des variables dans les modèles Laravel Blade avec élégance
Dans le système de modèles Blade de Laravel, la définition des variables n'est pas aussi simple qu'il y paraît. Pour éviter de faire écho à la valeur, envisagez les approches élégantes suivantes :
Approche simplifiée :
Utilisez la forme complète de la directive Blade pour définir plusieurs variables de manière concise :
@php $i = 1; $j = 2; @endphp
Pour les définitions à variable unique, simplifiez davantage :
@php($i = 1)
Avancé Approche : Balise @define personnalisée :
Pour une solution plus personnalisable, étendez Blade avec votre propre balise @define :
\Blade::extend(function($value) { return preg_replace('/\@define(.+)/', '<?php ; ?>', $value); });
Vous pouvez ensuite utiliser la balise comme suit :
@define $i = 1
Utilisation :
Placez le code d'extension personnalisé dans la fonction boot() de AppServiceProvider.php pour une solution rapide. Pour une implémentation plus permanente, créez un fournisseur de services personnalisé, comme décrit dans la référence fournie dans la réponse à la question.
N'oubliez pas que ces approches vous permettent de définir des variables dans les modèles Blade sans interférer avec le flux de votre code.
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!