CodeIgniter で次のようにする必要があります。
$this->load->model('Test_model');
$this->Test_model->....
私はただ欲しい:
$this->Test_model->...
すべてのモデルを自動ロードするのではなく、オンデマンドでモデルをロードしたい。「遅延読み込み」ロジックを に追加するにはどうすればよいCI_Controller
ですか? __get()
? どのようなロジックを追加する必要がありますか?
前もって感謝します!
PS 私の質問をCodeIgniter の遅延読み込みライブラリ/モデル/etcと混同しないでください- 私たちは異なるターゲットを持っています。
現在のソリューション
CI_Controller::__construct()
(path system/core/Controller/
) を次のように更新します
foreach (is_loaded() as $var => $class)
{
$this->$var = '';
$this->$var =& load_class($class);
}
$this->load = '';
$this->load =& load_class('Loader', 'core');
CI_Controller
次に、新しいメソッドをクラスに追加します
public function &__get($name)
{
//code here from @Twisted1919's answer
}