Diferença entre {{ }} e {!! !!} Blades Laravel


Esse post será bem curto, onde explico à diferença entre {{  }} e {!!  !!} nos blades do Laravel!


{{ }}

As instruções Blade impressas através do {{ }} são enviadas automaticamente pelo htmlspecialchars que fazendo a conversão dos caracteres especiais em entidade HTML, exemplo:
<?php
$new = htmlspecialchars("<a href='test'>Test</a>", ENT_QUOTES);
echo $new; // &lt;a href=&#039;test&#039;&gt;Test&lt;/a&gt;     
// laravel exemplo:
{{ <a href='test'>Test</a> }}
//Retorna:
// &lt;a href=&#039;test&#039;&gt;Test&lt;/a&gt;   

{!! !!}

As instruções Blade impressas através do {!! !!} não são tratadas pelo sendo assim qualquer caractere especial será impresso, exemplo:
<b> test </b>
test

O uso do {{}} é recomendo para a maioria dos casos, por questão de segurança pois protege a aplicação de ataques XSS, já uso do {!! !!} é recomendável para casos que realmente é necessário a impressão de caracteres especiais.

Recomendo que quando for necessário utilizar o {!! !!} crie funções personalizadas de impressão ou tratamento com a intenção de prevenir a impressão de <script> ou qualquer coisa que possa prejudicar a segurança de sua aplicação.



Se vocês gostaram desse Post não deixe de compartilhar com seus amigos!!!
E para não perder nenhuma novidade nos sigam nas redes sociais:
Twitter: @Bulfaitelo
Facebook: Bulfaitelo Project
Blogger: Bulfaitelo Project
Share on Google Plus

About Thiago Rodrigues

Formado em Sistema de Informação pela Faculdade Paraíso
O que falar de mim? Não á muito, mas garanto que meu objetivo aqui é somente ajudar!
Atualmente desenvolvendo o projeto do QiEstudo.

Comentários
0 Comentários

0 comentários:

Postar um comentário