Bladeテンプレートが優先
Viewファイルにindex.phpとindex.blade.phpがあった場合、Bladeテンプレートのindex.blade.phpが優先的に適用される。
return view('index'); // index.blade.php >> index.php
エスケープ
Bladeの{{ }}文は自動的にPHPのhtmlentities関数を通してXSS攻撃を防ぐ。
エスケープしないで変数を表示
{!! $name !!}
三項演算子の短縮形
{{ isset($name) ? $name : 'Default' }} ↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓ {{ $name or 'Default' }}
ifディレクティブ
@if (条件) // 内容 @elseif(条件) // 内容 @else // 内容 @endif
よく使うif比較の簡略系
@unless if(!condition) と同等
@unless(condition) // @endunless
@empty(condition) == if(empty(condition))
@empty() @endempty
@isset(condition) == if(isset(condition))
@isset() @endisset
繰り返し
@for ($i = 0; $i < 10; $i++) 現在の値は: {{ $i }} // @continue // @break @endfor @foreach ($users as $user) これは {{ $user->id }} ユーザです。 @endforeach @forelse ($users as $user)
@forelseは値をすべて取り出し終えて、取り出せなくなったときに@emptyにある処理を実行して繰り返しを終える。