全ページで共通する部分をレイアウトとして抜き出し、それを各ページのビューが継承するようにします。
親記事
Laravel 5.7で基本的なCRUDを作る - Qiita
レイアウトを作る
練習用のレイアウトを作ります。
readouble.com: Bladeテンプレート
resources/views/layouts/foo.blade.php
<!DOCTYPE html>
<html lang="ja">
<head>
<title>@yield('title')</title>
</head>
<body>
<h1>練習用レイアウト</h1>
{{-- 個別ページの内容はここに挿入される --}}
@yield('content')
</body>
</html>
個別ビューを作る
レイアウトを継承した個別ビューを作ります。
resources/views/foo/foo4.blade.php
@extends('../layouts/foo')
@section('title', $title)
@section('content')
{{-- 個別ページの内容 --}}
<h2>{{ $title }}</h2>
<p>{{ $body }}</p>
@endsection
app/Http/Controllers/FooController.php
// foo4アクションを追加
public function foo4()
{
return view('foo.foo4', [
'title' => 'Foo4',
'body' => 'Hello World!'
]);
}
routes/web.php
// ルートを追加
Route::get('foo/foo4', 'FooController@foo4');