MVCのM - FuelPHPのModel(モデル)編
【備忘録】FuelPHPをインストールしてみる。 - きまブログ、
FuelPHPで勉強するMVC - Controller編 - きまブログ 、
FuelPHPで勉強するMVC - View編 - きまブログに続き、
FuelPHPを使って、
フレームワークの肝である、MVCを勉強&実践していきます。
のModel編です。
書いてあることは、あくまで初心者レベルの理解ですので、あしからず。
よくある説明 - Model編
モデルで、実際のデータ処理をやるから、
コントローラーとかビューでやるな。
実際にやってみた - Model編
モデルというと、とかくデータベースとのアクセスだけが解説されてますが、
それは「ウェブアプリって、MySQLからデータ取ってきて表示するもんでしょ。」
ということだからなのでしょう。
でも、今回は「FuelPHPの動作からMVCを学習する。」が主眼で、
データベースが主眼ではないので、いままでのサンプルと同じ処理をして、
それをコントローラーへ返すようにします。
すると、
Controllerから、データを処理する部分も分離することができます。
これで、MVCを分離することが出来ました。教科書的ですね。。
- Controller : アクセス系
- View : 表示系
- Model : データ処理系
サンプル
Controllerは、dateコマンドの実行をModel_dddd::eeee()メソッドへ変更。
action_index()は削除しました。
/fuel/app/classes/controller$ cat aaaa.php <?php class Controller_Aaaa extends COntroller { public function action_bbbb() { $data = Model_dddd::eeee(); return View::forge('cccc', $data); } } ?>
Modelでdateコマンドで$data連想配列へ保存。
(コード貼り付けた時に気がついたけど)と、
クラス名は、Model_Ddddじゃなくてもいいのか?
最初の文字は大文字じゃなくても動いてる。。だけど。。不明。。
/fuel/app/classes/model$ cat dddd.php <?php class Model_dddd extends Model { public static function eeee() { $data['date_time'] = date('Y-m-d\TH:i:s',time())." - by Model_dddd::eeee() method"; return $data; } } ?>