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)→ 画面表示
という流れになります。

