我在使用 MVC 模式时遇到问题;我创建了多个模型,我使用它们中的每一个来处理分组任务(连接、数据库等)。
问题是,在创建基本模型之后,我最终得到了这样的代码(在控制器内)。
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...
}
}
这对我来说实际上更有意义,而且它看起来更干净更短。