信頼はずっと、挑戦はもっと。

お問い合わせ
TEL:03-3496-3888

BLOG コアテックの社員ブログ (毎週月曜~金曜更新中)

2012

24

9月

[FuelPHP]ViewModelについて

テクログ

こんにちは。 先日Fuelの勉強会に参加したら「 家に帰ってブログを書くまでが勉強会です!」と言われてしまったので、今熱い!(?)FuelPHPのViewとViewModelについて。 フレームワークを利用している方ならMVCモデルに慣れ親しんでいると思うのですが、FuelではMVCにプラスして「ViewModel」というものを利用することができます。

Viewモデルとはなんぞや?ということですが、

ざっくりとこんなイメージです。 VMを利用するメリットですが、見ての通り、Controllerでは一切値を触らないので(VMに投げて、Modelから受け取るだけ)ソースがスッキリとまとまるという利点があります。

// contoroller
function  action_index(){
$data = Model_XXXXX::find(XXXXXX);
foreach($data)
// viewにセットするための処理諸々(プルダウンのセットやチェックボックスの値挿入など)
}
}

としていたものが、

// contoroller
function action_index(){
$view = ViewModel::forge($viewName,'view',false);
$this->template->content = View::forge('view',$data);
}
// ViewModel
function view(){
$data = $this->data;
foreach($data)
// viewにセットするための処理諸々(プルダウンのセットやチェックボックスの値挿入など)
}
}

のような感じになります。 これだけだと「分ける必要ないじゃん」って感じですが。。。 複雑な処理になればなるほど、contoroller側の記述がシンプルになっていくイメージです。 まだあまりサンプル例が紹介されていないので、これが正しい使い方なのかはいまいちよくわかっていません…。必ずしもVMを使う必要はないのですが、自分が悩んだ部分だったので健忘録代わりにメモしておきます。

FuelPHP、まだまだ発掘する部分が多くて楽しいフレームワークなので、興味のある方は触ってみるのもいいんじゃないでしょうか。

この記事を書いた人

画像:投稿者アイコン

coretech

所 属:
WEBインテグレーション事業部
出身地:
渋谷
仕事内容:
Web制作