ビューの使い方

ビューとは、見た目を担うテンプレートの事である。

ビューファイルの作成

ビューファイルは「/resouces/views/」ディレクトリの中に作成する。

ファイル名の命名規則は、任意の名前の後に「.blade.php」とする。
純粋なPHPファイルではあるが、その手前に「.blade」を付与したものが、
ビューファイルとなる。
それゆえ、「ブレードファイル」のような呼称で呼ばれる事もある

たとえば「index」という名称にしたいならば、「index.blade.php」となる。

ビューファイルの記述方法

普通にHTMLの記述でよい。
純粋なPHPファイルでもあるので、「」タグでPHPコードを書く事もできる。

しかし、Laravel独自の記法も存在する。
以下は「」のPHPタグの外側に記述するものである。

変数展開

{{ $text }}

二重中カッコで囲む事により、変数を展開する事ができる。
HTMLエスケープされるので、半角小なり大なりなども、
HTMLタグとして識別されず、ブラウザ上に表示されるようになる。

変数展開(エスケープなし)

{!! $text !!}

HTMLタグとして出力したい場合、内側の中カッコの代わりに、「!!」で囲むようにする。

変数展開は、どちらも基本は「echo」で出力されるため、
数値や文字列ならそのまま展開できるが、
配列やオブジェクトの場合はエラーになるので注意。

if文

@if()
@elseif()
@else
@endif

if文を使いたい場合は、「@if()」と「@endif」で囲む。
「@elseif()」や「@else」も使用できる。
カッコの中は、従来の記述法で比較式を書く事ができる。

条件式に適合した範囲の部分が出力および実行される。

他ブレードファイルの挿入

@include('')

丸カッコの中には、シングルクォートで囲んでブレードファイルの名称を指定する。
「/resouces/views/」ディレクトリ内に入っている「.blade.php」ファイルが対象となる。

名称の指定方法は、「.blade.php」を除いたファイル名を記述する。
さらに、ドット区切りでディレクトリを指定する事もできる。

@include('index')
@include('parts.sidebar')

他ブレードファイルの呼び出し

@extends('')

ファイル指定方法は「@include('')」と同じである。
呼び出し元であるファイルの下に連結される形となる。

セクション

@section('')
@endsection

@yield('')

「@section('')」と「@endsection」で囲まれた部分は、そのままでは出力されない
「@yield('')」の部分から、展開される。

カッコの中には、セクションの名前を任意で記述する。
例えば「@section('content')」の部分は
「@yield('content')」の部分から出力されるように、
同じセクション名に対応した「@yield('')」から出力される。

ちなみに、「@extends('')」で呼び出したファイルに対しても有効で、
たとえばコントローラーが呼び出したブレードファイルには、
「@section('content')」で基本要素を囲んだ記述だけをしておき、
「@extends('')」で呼び出した先の
「@yield('content')」に対して出力するという事も可能である。