こんな時
ページのヘッダーはどのページでも同じものを使うことよくありますよね。
こんな時、毎回コピペするのは面倒。
そんな時はこんな構成にしましょう。
使い回すテンプレート
web/study-laravel/resources/views/_layouts/default.blade.php
<!DOCTYPE html> <html lang="ja"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta http-equiv="X-UA-Compatible" content="ie=edge"> <title>{{ $__env->yieldContent('title') }}</title> <link href="{{ asset('css/app.css') }}" rel="stylesheet"> </head> <body> @yield('content') <script src="{{ asset('js/app.js') }}"></script> </body> </html>
注目するところ
<body> @yield('content') </body>
こんなふうに、contentだけを、ページ毎に変えていく感じ。
content部分
web/study-laravel/resources/views/top.blade.php
@extends('user._layouts.default') @section('title', 'TOPページ') @section('content') <div> <h3>TOPページ</h3> </div> <div> <p>Hello!</p> </div> @endsection
注目するところ
@extends('user._layouts.default') @section('content') @endsection
1.@extendsで、テンプレを指定する。
2.@section('content')と@endsectionの間にページを用意する感じ。
コピペは極力しないプログラミングをしよう!
コピペをするのは、二重管理をしてしまって、無駄なコードが増えたり、
管理が面倒になるので、極力コピペを避けるように、
綺麗なコードを書くようにしましょう!
例の構成
初回のページ作成 by klack710 · Pull Request #3 · klack710/study-laravel · GitHub