2

ここのビデオチュートリアルで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そこに置いてみませんか?

4

1 に答える 1

3

作る理由MY_Model.phpはコアモデルの拡張です。を使用してロードすることは想定されていませんthis->load->model('MY_Model')。すでにオートロードされています。の目的は、Core ファイルをハッキングすることなく、MY_model内部のすべてのモデルに共通のメソッド、プロパティを作成することです。application/modelsまた、Core Model を拡張した場合MY_Modelは、CI_Model.

于 2012-04-04T19:52:32.597 に答える