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; // <a href='test'>Test</a>
// laravel exemplo:
{{ <a href='test'>Test</a> }}
//Retorna:
// <a href='test'>Test</a>
{!! !!}
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