Laravel-blade-templates

提供:Dev Guides
移動先:案内検索

Laravel-ブレードテンプレート

Laravel 5.1では、 Blade というテンプレートエンジンを使用して独自のレイアウトを設計するという概念が導入されています。 このように設計されたレイアウトは、他のビューで使用でき、一貫した設計と構造が含まれています。

他のテンプレートエンジンと比較すると、Bladeは次の点でユニークです-

  • 開発者がビューでプレーンPHPコードを使用することを制限しません。
  • このように設計されたブレードビューは、変更されるまでコンパイルおよびキャッシュされます。

Welcome Blade

Laravelの完全なディレクトリ構造は、以下のスクリーンショットに示されています。

すべてのビューが resources/views ディレクトリに保存されており、Laravelフレームワークのデフォルトビューは welcome.blade.php であることがわかります。

他のブレードテンプレートも同様に作成されることに注意してください。

ブレードテンプレートレイアウトを作成する手順

次の手順を使用して、ブレードテンプレートレイアウトを作成する必要があります-

ステップ1

  • resources/views フォルダー内にレイアウトフォルダーを作成します。 このフォルダーを使用して、すべてのレイアウトをまとめて保存します。
  • それに関連付けられている次のコードを持つファイル名 master.blade.php を作成します-
<html>
   <head>
      <title>DemoLaravel - @yield('title')</title>
   </head>
   <body>
      @yield('content')
   </body>
</html>

ステップ2

このステップでは、レイアウトを拡張する必要があります。 レイアウトの拡張には、子要素の定義が含まれます。 Laravelは、子要素の定義に Blade @ extends ディレクティブを使用します。

あなたがレイアウトを拡張しているとき、次の点に注意してください-

  • ブレードレイアウトで定義されたビューは、独自の方法でコンテナを挿入します。
  • ビューのさまざまなセクションが子要素として作成されます。
  • 子要素は、 child.blade.php としてレイアウトフォルダーに保存されます。

上記で作成されたレイアウトの拡張を示す例がここに示されています-

@extends('layouts.app')
@section('title', 'Page Title')
@section('sidebar')
   @parent
<p>This refers to the master sidebar.</p>
@endsection
@section('content')
<p>This is my body content.</p>
@endsection

ステップ3

ビューに子要素を実装するには、必要に応じてレイアウトを定義する必要があります。

ランディングページ

ここに示すスクリーンショットを確認してください。 ランディングページに記載されている各リンクはハイパーリンクであることがわかります。 上記の手順を使用して、ブレードテンプレートを使用して子要素として作成することもできます。