2012-04-04 39 views
2

在視頻教程here我可以看到,MY_Model.php被放置在我的CI應用程序的核心目錄中,就像MY_Controller.php一樣。爲什麼我們將MY_Model放入核心文件夾?

我的問題是CI不會從核心目錄加載模型。我已經逐步通過CI,發現CI僅檢查application\models文件夾的型號,而不是core文件夾(位於CI 2.1.0 Loader.php文件的279行上)。這使得我不能直接使用$this->load->model('MY_Model')訪問MY_Model,儘管我可以將它擴展得很好。

這讓我想知道爲什麼我們要把MY_Model.php放在core文件夾中。 application\models中的任何模型都可以直接擴展和訪問,爲什麼不把MY_Model.php放在那裏呢?

回答

3

製作MY_Model.php的原因是擴展了Core模型。它不應該使用this->load->model('MY_Model')加載。它已經自動加載。 MY_model的目標是製作通用方法,application/models內所有型號的屬性,而不會破解Core文件。如果你有擴展的核心模型,你應該寫你的應用程序模型擴展MY_Model而不是CI_Model

+0

你說「它已經自動加載」。我不認爲這是正確的。如果'core \ MY_Model.php'是自動加載的,那麼我不會讓所有其他模型擴展它,因爲它的功能已經可用。 – ubiquibacon 2012-04-04 19:58:08

+0

@typoknigi表示CI正在尋找Core文件夾並autoincludin該類,否則您將無法擴展MY_model。 – safarov 2012-04-04 20:10:18

相關問題