私は MVC の概念自体にはかなり慣れていませんが、ゆっくりと理解し始めています。
私は自分のアプリに、階層内のレベルであるさまざまなタブを持っています (エンティティと呼びます)。それぞれが 2 つのクラスで表されます。データベースと通信するためのすべてのメソッドを備えた Binding クラスと、エンティティの単なるスケルトンであるヘルパー クラスです。 、両方とも同じファイルにあります。これがデザインパターンにアプローチする正しい方法なのだろうか?モデルやコントローラーはまだ作成していません。現時点でどこに登場するかわからないからです。また、現在 ORM を使用することに興味はありません。
class CompanyBinding extends EntityBinding {
function __construct() {
parent::__construct();
}
public function get($criteria = array()) {
// method to retrieve an array of DB rows, each represented by the helper class
[...]
return $sth->fetchAll(PDO::FETCH_CLASS, 'Company');
}
public function get_by_id($id) {
// method to retrieve an one single object of the helper class
$sth->setFetchMode(PDO::FETCH_CLASS, 'Company');
return $sth->fetch();
}
}
class Company extends Entity {
public $id;
public $name;
public $email;
public $phone;
// just properties. some classes have a __construct() function to manipulate some fields after retrieval
[...]
}
モデルクラスは今必要ですか?エンティティの名前はAJAXを使用してフロントエンドから渡されるため、コントローラーが->get関数を実行して適切なクラスをロードできると考えていました。
ちなみに私もかなり迷っています。コントローラーはすべての AJAX 要求を吸収する必要がありますか、それともそれを処理する ajax.php というファイルを作成し、コントローラー クラスを public_html の上に配置して、ユーザーがクラス ファイルにアクセスできないようにする必要がありますか?