codeigniterでloadするとrequireが必要ないのはなぜか。しんくろぐしんくろぐコンテンツへスキップブログ逆引きPHP逆引きSQLプロフィールcodeigniterでloadするとrequireが必要ないのはなぜか。__construct(){parent::__construct();$this->load->model('model_name');}}としてモデルクラスを読み込むのだがこのときrequire_onceを呼び出す必要がありません。なんでかな~っとずっと思っていたのでちょっと調べました。modelメソッドでは、読み込んだことがあるかチェックして読み込んだことがなければ、require_onceを呼び出し、controllerにモデルのプロパティを追加しています。←これはCI_Modelのloadプロパティではない!}}モデルの基底クラス。get_instance()はCI_Controllerを呼び出す。}}どうやらCI_Modelで定義されていないプロパティを呼び出された場合はCI_Controllerのプロパティを代わりに呼び出すらしい。直感的ではない、っていうかCI_Modelは何もしてないじゃん!結局コントローラと同じインスタンスのLoaderが呼び出されてました。このloadプロパティはちょっと微妙でコードの中ではrequire_onceで読み込んでいるところとload->xxxx()で読み込んでいるところができちゃって困ることがある。(このフレームワーク内ですべてが収まればいいんですがそうでもないので。)Controllerのメソッドごとに必要なものをロードしていると管理が大変なのでコンストラクタで読み込むのが基本ですが全然メリットが活かせてないんですよね。コメントをキャンセルメールアドレスが公開されることはありません。コメント名前メールアドレスサイト次回のコメントで使用するためブラウザーに自分の名前、メールアドレス、サイトを保存する。