web-dev-qa-db-fra.com

Quelle est la différence entre {{}} et {!! !!} dans laravel blade?

Dans le framework laravel nous pouvons utiliser blade pour ajouter le code PHP dans le fichier html.
Nous utilisons les deux {{ }} et {!! !!} syntaxe dans les fichiers lames de Laravel.
Quelle est la différence entre eux?

34
Kumaran

Les instructions Blade {{}} sont automatiquement envoyées via la fonction htmlentities de PHP pour empêcher les attaques XSS.

Si vous transmettez des données de votre contrôleur à une vue avec un style HTML comme:

$first = "<b>Narendra Sisodia</b>";

Et il est accessible, dans Blade, avec {{ $first }} alors la sortie sera:

<b>Narendra Sisodia</b>

Mais s'il est accessible avec {!! $first !!} alors la sortie sera:

Narendra Sisodia

76

Si vous ne voulez pas que les données soient échappées, utilisez {!! !!} sinon utilisez {{ }}.

8
Sougata Bose

dans la documentation: https://laravel.com/docs/5.1/blade

Par défaut, Blade {{ }} les instructions sont automatiquement envoyées via la fonction htmlentities de PHP pour empêcher les attaques XSS. Si vous ne souhaitez pas que vos données soient échappées, vous pouvez utiliser la syntaxe suivante:

Hello, {!! $name !!}.
6
Mehari

Pour échapper à l'utilisation des données

{{ $data }}

Si vous ne voulez pas que les données soient échappées, utilisez ci-dessous

{!! $data !!}
4
Poorna Rao

Les instructions Blade {{}} sont automatiquement envoyées via la fonction PHP htmlentities pour empêcher les attaques XSS.

Vous pouvez en voir plus ici: https://laravel.com/docs/master/blade

2