LaravelのBladeの構文
{!! 変数、式、関数など !!}
定義した内容がエスケープされないで表示される。
class HogeController extends Controller { public function index(Request $request) { $data = [ 'html' => '<h2>ABC</h2>', ]; return view('hello.index', $data); } }
<body> {!! $html !!} // ABC {{$html}} // <h2>ABC</h2> </body>
@if、@else @elseif
条件分岐を利用できます。
class HogeController extends Controller
{
public function index(Request $request)
{
$data = [
'age' => 10,
];
return view('hello.index', $data);
}
}
<body> @if($age < 10) 10歳以下 @else 10歳以上 @endif // 10歳以上 </body>
@unless
@ifの逆の動作をします。
class HogeController extends Controller
{
public function index(Request $request)
{
$data = [
'age' => 10,
];
return view('hello.index', $data);
}
}
<body> @unless($age < 10) 10歳以下 @endunless // 10歳以下 </body>
@empty
空のチェックができます。
class HogeController extends Controller { public function index(Request $request) { $data = [ 'hoge1' => '', 'hoge2' => null, 'hoge3' => [], ]; return view('hello.index', $data); } }
<body> @empty($hoge1) 空です @endempty @empty($hoge2) 空です @endempty @empty($hoge3) 空です @endempty </body>
@isset
変数が定義されているかをチェックできます。
class HogeController extends Controller
{
public function index(Request $request)
{
$data = [
'msg' => 'こんにちは',
];
return view('hello.index', $data);
}
}
<body> @isset($msg) {{$msg}} // こんにちは @endisset </body>
@for
繰り返し処理です。
@for ($i = 0; $i < 10; $i++) 現在の値は: {{ $i }} // 1,2,3,4... @endfor
@foreach
繰り返し処理です。
class HogeController extends Controller
{
public function index(Request $request)
{
$data = [
'items' => ['A','B','C'],
];
return view('hello.index', $data);
}
}
<body> @foreach ($items as $item) 現在の値は: {{ $item }} //現在の値は: A //現在の値は: B //現在の値は: C @endforeach </body>
ループ変数
繰り返し処理では$loopという変数が利用できます。
$loop -> {プロパティ}
で利用できます。
プロパティ | 内容 |
---|---|
index | 現在のindex番号 |
iteration | 現在の繰り返し数 |
remaining | 残りの繰り返し数 |
count | 繰り返しに使用しえいる配列の長さ |
first | 最初の要素かどうか |
last | 最後の要素かどうか |
depth | 繰り返しのネスト数 |
parent | 親の繰り返しループ変数 |
@php
@php
を利用することでphpスクリプトを実行することができます。
<body> @php $hoge = 'ほげほげ'; echo $hoge; // ほげほげ @endphp </body>