自動エスケープしてデータを表示
{{ 変数 }}とするとhtmlspecialchars関数でエスケープ処理を行ったデータが表示されます。
@php
$var = 'I am var';
@endphp
{{ $var }}
// I am varが出力される
エスケープしないでデータを表示
{!! 変数 !!}とすると、エスケープ処理なしでデータが表示されます。
@php
$var = '';
@endphp
{{ $var }}
// ブラウザ上に「<script>window.alert('I am var');</script>」が出力される
{!! $var !!}
// ダイアログでI am varが出力される
{{や}}をそのまま表示したい
{{や}}は多くのJavaScriptフレームワークでへデータ表示に使われるので、{{や}}はそのまま文字として出力したい場合があります。
この場合、@{{ 変数 }}とすることで{{ 変数 }}という文字列として表示することができます。
@{{ var }}
// {{ var }}が出力される
{や}が頻出する部分には@verbatimディレクティブで囲むことでその間は@{{ 変数 }}とせず、{{ 変数 }}で表示することができます。
@verbatim
<div class="test">
I am {{ name }}.
I am {{ num }} years old.
</div>
@endverbatim
// I am {{ name }}.
// I am {{ num }} years old.
コメントアウト
{{– コメント –}}でコメントになります。
Bladeのコメントはコンパイル時に読み飛ばされるのでHTMLとしても出力されません。