WinRoadのLaravel4初心者講座

次世代PHPフレームワークのLaravel4を初心者向けに解説して参ります。

Winroad徒然草の管理人がお届けします
Bladeテンプレートの基礎

Bladeテンプレートの基礎

このエントリーをはてなブックマークに追加

Laravelには、Bladeテンプレートという、パワフルでかなり便利なテンプレートエンジン*があります。このBladeテンプレートを覚えることにより、効率よくビューが作成できます。

Bladeテンプレートの基礎

Blade(ブレード)テンプレートを使う方法は至って簡単です。ただ、.phpを.blade.phpに変更するだけです。たったこれだけで、Bladeテンプレートを使うことができるのです。

それでは、実際に、ビューファイルhello.phpの名前を変更して、hello.blade.phpを作成してみましょう。前回のViewの基礎で、作成した全く同じビューファイルが表示されているはずです。

そうです、Bladeテンプレートは名前がblade.phpに変わっただけで、ビューファイルと全く変わりません。只、これでは、何のためにBladeテンプレートを使っているのかわかりませんので、下記のように修正します。

データのecho

app/views/hello.blade.php

{{ $header }}
 <h1>Hello World!</h1>
 <h2>ようこそ{{ $name }}さん</h2>
 <p>あなたのメールアドレスは{{ $email }}です。</p>
 <p>これはapp/views/hello.phpファイルです</p>
 {{ $footer }}

phpでは、<?php echo $header;?>と表示していたのが、{{ $header }}だけですみます。Bladeテンプレートは、{{ と }} で変数を囲むだけで、echo 迄してくれます。簡単ですよね。

同様に、header.phpと footer.phpもheader.blade.phpとfooter.blade.php に名称を変更して、echo も変更してください。

 コメント

コメントを挿入するには、{{– と –}}で挟めば、コメントとして、HTMLには表示されません。

{{-- これは、コメントです。 --}}
  • ※ブラウザによっては、{{ と }} の間の–(ハイフン)が一つに見えるかも知れませんが、ハイフンは二つです。

if文

if文は、@if と@endifの中に記述します。

@if(count($records) > 0) 
 {{ count($records)."件のレコードがあります。" }}
 @else レコードはありません。
 @endif
@unless(Auth::check()) 
 あなたはログインしていません。
 @endunless

 

ループ文

for($i=0;$<10;$++) 
 The current value is {{ $i }} 
 endfor
foreach($users as $user) 
 <p>これはユーザーID:{{ $user->id }}</p>
 endforeach
while(true) 
 <p>永久にループ中</p>
 endwhile

 

サブビューのインクルード

サブビューをインクルードするには@includeを使用します。

@include('view.name')

« »

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です