C#/.NET MVC 3/4 から来た私は、CodeIgniter のモデルの実装にあまり慣れていません。
ドキュメントには、モデルがコントローラーメソッド内にロードされていることが示されていますが、私はほとんどすべてのメソッドでモデルを使用しており、モデルはコンストラクターを介してメソッド全体で使用されるデータをプロパティに保存しています。
私が見落としているコントローラーコンストラクターでモデルをインスタンス化しない理由はありますか?
C#/.NET MVC 3/4 から来た私は、CodeIgniter のモデルの実装にあまり慣れていません。
ドキュメントには、モデルがコントローラーメソッド内にロードされていることが示されていますが、私はほとんどすべてのメソッドでモデルを使用しており、モデルはコンストラクターを介してメソッド全体で使用されるデータをプロパティに保存しています。
私が見落としているコントローラーコンストラクターでモデルをインスタンス化しない理由はありますか?
次の方法でもモデルをロードできます。つまり、モデルが任意のフォルダーにある場合、次のコードを使用してコントローラーにモデルをロードできます。
$this->load->model('modelFolder/' . $this->controller . '_model');
たとえば。modelFolder
: " "という名前のフォルダにモデルがある場合は、次のようにします。
class demoController extends CI_Controller {
var $controller = "user";
/* Local Constructor Will Be Overriding The One In The Parent Controller Class So We Need To Manually Call It. */
public function __construct() {
parent::__construct();
$this->load->model('modelFolder/' . $this->controller . '_model');
$this->load->model('common_model');
}
}
それがあなたを助けることを願っています...
コントローラーを起動するたびにモデルをロードしない理由はありません。すべてのコントローラーの構成の自動ロードに配置することもできます。
常にロードしない唯一の理由は、多くの操作でモデルが必要ない場合です。そうすれば、メモリと時間を少し節約できます。