Bladeテンプレート
- 解説
- 1. Bladeとは
- 2. Bladeの基本構文
解説
1. Bladeとは
Bladeとは、LaravelでView(画面)を作成するために用意されている、PHPをベースとしたテンプレートエンジンです。
BladeはPHPをベースとしたテンプレートファイルなので、これまでに学習してきたPHPのコードをそのまま記述することができますが、Blade独自の構文を利用することで、より少ないコードでプログラムを記述できたりと、効率的に開発をすすめることができます。
Bladeファイルは、「ファイル名.blade.php」という形式で「resources > views」フォルダー配下に保存します。
これまでに見てきた、「welcome.blade.php」「login.blade.php」「home.blade.php」はどれもBladeファイルです。
2. Bladeの基本構文
ここではいくつかの基本的なBladeの構文を確認しておきましょう。
構文:コメントアウト
構文
{{-- コメントアウト --}}
使用例
{{-- <p>Bladeのコメントアウトはソースとして出力されません。</p> --}}
※Bladeのコメントアウトは、HTMLのコメント「<!-- -->」と似た使い方ができますが、HTMLのコメントと異なり、ソースとして出力されません。
構文:エコー(出力)
構文
{{ /*出力したいPHPのコード*/ }}
使用例
<p>私の名前は、{{ $userName }}です。</p>
※「<?PHP echo(htmlspecialchars($userName)); ?>」と同じ結果が出力されます。
ディレクティブ「@」
if文やループ処理は、ディレクティブと呼ばれる、「@」から始まる短縮構文を利用することができます。
構文:@if
構文
@if (条件式)
// 処理
@elseif (elseの条件式)
// 処理
@else
// 処理
@endif
使用例
@if ($age < 20)
<p>{{ $age }}歳は未成年です。</p>
@else
<p>{{ $age }}歳は成人です。</p>
@endif
構文:@switch
構文
@switch(式)
@case(値1)
// 式と値1が一致する時の処理
@break
@case(値2)
// 式と値2が一致する時の処理
@break
@default
// 式がどのケースとも一致しない時の処理
@endswitch
使用例
@switch(get_debug_type($value))
@case('int')
<p>$valueはint型です。</p>
@break
@case('float')
<p>$valueはfloat型です。</p>
@break
@default
<p>$valueは数値ではありません。</p>
@endswitch
※get_debug_type() は、引数の型名を文字列で取得します。
構文:@foreach
構文
@foreach (配列 as ループ毎の要素)
// ループ毎の処理
@endforeach
使用例) $users配列に格納された、各$userオブジェクトの名前を出力する
<ul>
@foreach ($users as $user)
<li>$user->name</li>
@endforeach
</ul>
問題
実践問題
「views」フォルダー内の「home.blade.php」ファイルと、「views > auth」フォルダー内の「login.blade.php」の該当箇所を問の形式に修正してください。
(解答が終わったらコミット・プッシュをしておきましょう。)
<!--
(問1)smallタグ内の「2021」を、PHPのdate()関数を利用して、
現在の年を出力するように修正してください。 -->
<footer class="flex_parent">
<p><small>©2021 Dig Skill</small></p>
</footer>
ヒント: 現在年の取得は、「PHP 現在 年 取得」などのキーワードで検索して実装してみましょう。