Laravel4のビュー

今日は、Laravel4のビューについて調べてみたいと思います。

ビューを表示する

1. まず、Laravel4をインストールしたばかりのデフォルトのビューファイルを見てみましょう。

2. viewsフォルダ内にhello.phpとemailsフォルダ、emailsフォルダ内にauthフォルダがあり、その中にreminder.blade.phpファイルがあります。

laravel4_029

3. 初期設定のroute.phpには、このhello.phpビューファイルを返すようにルーティングされていました。

laravel4/app/routes.php

Route::get('/', function()
 {
 return View::make('hello');
 });

4. それでは、viewフォルダにhelloフォルダを作成して、下記のindex.phpファイルを作成します。

laravel4/app/views/hello/index.php

<!DOCTYPE HTML>
<html>
<head>
<meta charset="utf-8">
<title>Hello.index</title>
</head>
<body>
<h1>helloフォルダ内のindex.phpファイルです。</h1>
</body>
</html>

5. ルーティングを下記のように修正してみましょう。

laravel4/app/routes.php

Route::get('/', function()
{
 return View::make('hello.index');
});

6. このようにビューファイルは、app/viewsフォルダ内なら、どこに置いてもView::makeメソッドで取得することが出来ます。

laravel4_030

ビューにデータを渡す

7. 次にビューにデータを渡してみましょう。ルーターを下記のように修正します。

laravel4/app/routes.php

Route::get('/', function() {
 return View::make('hello.index',array(
 'name'=>'中田',
 'jusyo'=>'東京都目黒区'));
});

View:makeメソッドの第2引数には、ビューに渡すデータを配列で指定します。

8. ビューファイルも下記のように修正します。

laravel4/app/views/hello/index.php

<!DOCTYPE HTML>
 <html>
 <head>
 <meta charset="utf-8">
 <title>Hello.index</title>
 </head>
<body>
 <h2>ようこそ<?php echo $name?>さん</h2>
 <h2>あなたは<?php echo $jusyo?>に住んでいます。</h2>
 <h1>helloフォルダ内のindex.phpファイルです。</h1>
 </body>
 </html>

laravel4_032

9. もう一つのデータの渡し方も見てみましょう。routes.phpを下記のように修正します。

laravel4/app/routes.php

Route::get('/', function()
 {
 $data['name']='中田';
 $view=View::make('hello/index',$data);
 $view->with('jusyo','東京都目黒区');
 return $view;
 });

withメソッドでビューにデータを渡すことも出来ます。

10. これも上記と全く同じビューファイルを表示します。

ビューにサブビューを渡す

11. 次はビューにサブビューを渡す方法を見てみましょう。サブビューfooter.phpを下記のように作成します。

laravel4/app/views/hello/footer.php

<footer style="background-color:green;color:white;text-align:center">
<p><?php echo $corporation?></p>
</footer>

12. そして、routes.phpを下記のように修正します。

laravel4/app/roues.php

Route::get('/', function() {
 $data['name']='中田';
 $data['jusyo']='東京都目黒区';
 $data['corporation']='Builwing';
 $view=View::make('hello/index',$data);
 $view->nest('footer','hello.footer',$data); 
return $view;});

13. サブビューをindex.phpに表示するためにindex.phpも下記のように修正します。

laravel4/app/views/hello/index.php

<!DOCTYPE HTML>
<html>
<head>
<meta charset="utf-8">
<title>Hello.index</title>
</head>
<body>
<h2>ようこそ<?php echo $name?>さん</h2>
<h2>あなたは<?php echo $jusyo?>に住んでいます。</h2>
<h1>helloフォルダ内のindex.phpファイルです。</h1>
<?php echo $footer?>
</body>
</html>

14. ブラウザで表示してみます。

laravel4_033

本日は以上です。

このエントリーを含むはてなブックマーク Buzzurlにブックマーク livedoorクリップ Yahoo!ブックマークに登録

トラックバック&コメント

この投稿のトラックバックURL:

コメントをどうぞ

このページの先頭へ