ビューは、MVC におけるインターフェース担当。
html/css、javascript と(少しの)php で記述される。
ビューはコントローラから呼びだされ、モデルから渡されたデータから動的にページを表示する。
使用するメソッドは View::forge() 。
このメソッドの使い方が色々あるため、それを学ぶ。
1.コントローラからビューの呼び出し
ビューは fuel/app/views ディレクトリに置く。
/views/test.phpというビューを呼び込む場合、View::forge()メソッドにビューファイル名を引数として渡す。
Controller 内でreturnすると、ブラウザに表示される。
return View::forge('test');
viewオブジェクトを生成した上で、そのオブジェクトに対して処理を行う方法もある。
その場合、set_filename()メソッドでビューファイル名を指定する。
$view = View::forge(); $view->set_filename('test'); return $view;
こっちを使いそうだな。
2.ビューへ変数を渡す
こんなビューがある。
title:<?php echo $title; ?> welcome, <?php echo $username; ?>.
この$title と $username に変数を渡したい。
ビューにデータを渡す場合は、呼び出し方によって3つある。
ビューで利用する変数名をインデックスにした配列を渡す
少しややこしい。
$data = array(); $data['title'] = 'テスト!'; $data['username'] = '太郎'; return View::forge('test',$data);
Viewオブジェクトのset()メソッドで値を設定する
set()メソッド内で変数名と変数の内容をつなげている。
わかりやすい。
$view = View::forge('test'); $view->set('title','テスト!'); $view->set('username','太郎'); return $view;
オブジェクトのプロパティに直接設定
オブジェクトのプロパティに直接指定している。
こちらもわかりやすい。
$view = View::forge('test'); $view->title = 'テスト!'; $view->username = '太郎'; return $view;
どれが使いやすいかは進めていくうえで決めよう。
Response::forge()についてはまた今度。
コメント