私が MVC を理解する時が来たので、それが私がやろうとしていることです。そして、モデルが何をすべきかを理解するのに苦労しています。ウィキペディアによると、モデル:
モデルは、アプリケーション ドメインの動作とデータを管理し、その状態に関する情報の要求に (通常はビューから) 応答し、状態を変更する命令 (通常はコントローラーから) に応答します。イベント駆動型システムでは、情報が変更されたときにモデルがオブザーバー (通常はビュー) に通知し、オブザーバーが反応できるようにします。
そして、CakePHP では、次の非常に単純な方法でモデルをセットアップすることになっています。
<?php
class Posts extends AppModel {
var $name = 'Posts';
}
?>
たとえば、データベースの最新の 10 件の投稿が必要な場合は、次のようなコントローラーを作成します。
<?php
class PostsController {
function retrieve_latest($number = 10) {
$posts = $this->Users->find(array(
'fields' => '*',
'order' => 'posts.post_id DESC',
'limit' => $number,
'page' => '1',
'conditions' => array('posts.post_display == 1')
));
$this->set('posts', $posts);
}
}
?>
そして、この男は私のビューに呼び出された変数を渡し、posts
それに応じてそれをレンダリングします。問題は、私のモデルは他に何もするべきではないということです。なぜなら、これと同じくらい単純な場合、カスタム モデルの意味がまったくないからです。つまり、モデル クラスへの単なる空の拡張です。