MVC パターンの操作に問題があります。複数のモデルを作成しました。それぞれを使用して、グループ化されたタスク(接続、DBなど)を処理しています。
問題は、基本モデルを作成した後、このようなコード(コントローラー内)になってしまったことです。
class Controller
{
function doStuffz()
{
$accounts = new AccountsModel();
$DB = new DBModel();
$HTML = new HTMLModel();
//More models...
$accountData = $accounts->getAccount($id);
$DB->saveAccount($accountData);
$HTML->display($accountData);
//More code...
}
}
クラスの (ほぼ) すべての関数内でモデルのインスタンスを作成してきましたが、それらを静的にすることはまったく問題ないように思えます。
いつ静的メソッドを使用するかについてのこの質問を読みました。「経験則」を適用した後、これらのモデルはすべて静的にする必要があるようですが、それは MVC パターンの悪い習慣ですか?
これらのモデルを静的にすると、おそらく次のようになります。
class Controller
{
function doStuffz()
{
$accountData = AccountModel::getAccount($id);
DBModel::saveAccount($accountData);
HTMLModel::display($accountData);
//More code...
}
}
これは実際には私にとってより理にかなっています。また、よりクリーンで短く見えます。