为什么我们将MY_Model放在核心文件夹中?

时间:2012-04-04 19:39:09

标签: codeigniter

在视频教程here中,我可以看到MY_Model.php被放置在我的CI应用程序的核心目录中,就像MY_Controller.php一样。

我的问题是CI不会从核心目录加载模型。我已经逐步完成了CI,发现CI只检查application\models文件夹中的模型,而不是core文件夹(在CI 2.1.0 Loader.php文件的第279行中找到)。这使我无法直接使用MY_Model访问$this->load->model('MY_Model'),但我可以将其扩展正常。

这让我想知道为什么我们将MY_Model.php放在core文件夹中。 application\models中的任何模型都可以直接扩展和访问,那么为什么不将MY_Model.php放在那里?

1 个答案:

答案 0 :(得分:3)

制作MY_Model.php的原因是扩展核心模型。它不应该使用this->load->model('MY_Model')加载。它已经自动加载了。 MY_model的目的是为application/models内的所有模型制作通用方法,属性,而不会破坏Core文件。如果你有扩展的核心模型,你应该编写扩展MY_Model而不是CI_Model的应用程序模型。