はじめに
Laravelの開発で欠かせないのが「Bladeテンプレート」。
PHPの中でも特に見やすく、柔軟にHTMLを組み立てられるテンプレートエンジンです。今回は「Bladeってなに?」「どう使えばいいの?」という初心者の方向けに、基本の文法と実践的な使い方をわかりやすく解説していきます!
やりたいこと
-
Bladeテンプレートの基礎文法を理解する
-
よく使うディレクティブ(@if, @foreachなど)をマスターする
-
レイアウトの継承を使って効率的な開発を目指す
-
コンポーネントやスロットの基本を知る
準備するもの
ライブラリ
-
Laravel(BladeはLaravel標準のテンプレートエンジンなので別途インストール不要)
インポート手順
Laravelプロジェクトを作成すればすぐにBladeが使えます。
このライブラリの説明
BladeはLaravelに標準搭載されているテンプレートエンジンで、PHPとHTMLを簡潔に組み合わせることができます。if文やforeachなどをHTMLタグ内で自然に書けるのが特徴です。
ディレクトリ構成(一部抜粋)
コードスクリプト
コードスクリプトの概要
ここではBladeの基本構文から、レイアウト継承・コンポーネントの使い方まで段階的に紹介します。
基本文法(埋め込みとエスケープ)
条件分岐
ループ
コンポーネントの例
<div class="alert alert-{{ $type }}"> {{ $slot }} </div>
呼び出し側
コード解説
-
@extends
:テンプレートの親ファイルを指定する -
@section / @yield
:親子間で内容を埋め込むための構文 -
{{ }}
:変数のエスケープ出力 -
{!! !!}
:HTMLタグをそのまま表示したい場合に使う -
<x-alert>
:カスタムBladeコンポーネントの呼び出し(Laravel 7以降対応)
注意点
-
Bladeで使う変数はControllerから渡す必要があります(
return view('home', ['name' => '太郎'])
など) -
@csrf
ディレクティブはフォーム内でトークンを挿入するために必須 -
コンポーネント名とBladeファイル名は一致させる必要あり(例:
x-alert
→alert.blade.php
)
まとめ
Bladeテンプレートを使えば、LaravelでのWebページ作成が驚くほどスムーズになります。PHPのコードを最小限に抑えて、読みやすく保守性の高いHTMLを書くことが可能です。最初は@if
や@foreach
だけでも十分便利に使えるので、ぜひ触ってみてください!
コメント