【问题标题】:What is a proper way of loading models, libraries, etc. in MVC controllers?在 MVC 控制器中加载模型、库等的正确方法是什么?
【发布时间】:2014-05-12 18:03:54
【问题描述】:

在很多 MVC 框架中,我看到它们在控制器中加载模型,例如:

$this->load->model('Model');

像这样创建模型对象有什么不好的吗:

$model = new Model();

我是否也应该像第一个示例中那样加载库和辅助类?

【问题讨论】:

  • 模型不是类或对象。 Model is a layer.。而“正确的方法”是依赖注入。

标签: php model controller


【解决方案1】:

遵循框架的约定。

如果框架使用$this->load->model('Model');,很可能是因为它内置了某种形式的自动加载器来检索正确的类并加载它以供使用。

如果您在使用$model = new Model(); 之前没有先加载包含Model 类的正确文件,您的脚本将会失败,因为找不到Model

【讨论】:

  • 我自己做了一个微型MVC框架来学习。我正在检查其他人是如何建造的,并试图适应。我正在使用 SPL 自动加载器来加载我所有的类,并且看不出我为什么会这样加载。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2015-05-29
  • 1970-01-01
  • 1970-01-01
  • 2014-07-20
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多