COMPANY SERVICE STAFF BLOG NEWS CONTACT

STAFF BLOG

スタッフブログ

TECHNICAL

テクログ

2012.09.24

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

この記事を書いた人

core-corp

入社年

出身地

業務内容

特技・趣味

テクログに関する記事一覧

TOP