Laravel Bladeとは?

LaravelのBladeは、Webページの画面を作るためのテンプレート機能です。

LaravelのMVC構成では、Viewの部分を担当します。

HTMLを基本として、LaravelのBladeの書き方を使うことで、効率よく画面を作ることができます。

Bladeファイルは基本的にresources/viewsフォルダに作成し、ファイル名は.blade.phpにします。

resources/views/blog/list.blade.php

共通レイアウトを作る

Webサイトでは、HeaderやFooterなど、複数のページで同じ部分を使うことがあります。

Bladeを使うと、このような部分を共通化して、複数のページで使うことができます。

例えば、layout.blade.phpを以下のように作成します。

<!DOCTYPE html>
<html>
<head>
<title>@yield('title')</title>
</head>

<body>

@include('header')

@yield('content')

@include('footer')

</body>
</html>

コード説明

@yieldは、他のBladeファイルの内容を表示する場所を指定します。

@yield('content')

ここに各ページで作成したcontentの内容が表示されます。

@includeは、他のBladeファイルを読み込むときに使います。

@include('header')@include('footer')

このようにすると、共通で使うHeaderやFooterを別のファイルで管理できます。

他のBladeで使用する

ブログ一覧画面のlist.blade.phpでは、以下のように書くことができます。

@extends('layout')

@section('title', 'ブログ一覧')

@section('content')

<h1>ブログ一覧</h1>

<p>ブログの記事を表示します。</p>

@endsection

@extendsは、使用する共通レイアウトを指定します。

@extends('layout')

@sectionは、layout.blade.php@yieldに表示する内容を書きます。

@section('content')

<h1>ブログ一覧</h1>

@endsection

つまり、

layout.blade.php の @yield('content') ← list.blade.php の @section('content')

という形でつながります。

まとめ

LaravelのBladeは、Webページの画面を効率よく作るためのテンプレート機能です。

HeaderやFooterなど、何度も使う部分を共通化し、ページごとに必要な内容だけを書くことができます。

簡単にすると、

Controller → Blade(View)→ 画面表示

という流れになります。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

技術情報

前の記事

LaravelのModelとは?