質問:
好奇心から、Codeigniter が特定のデータを常にビューにロードする方法を提供するかどうか疑問に思っています。
例:ビューをロードするたびにそのデータをロードするために呼び出すのではなく、すべてのページのビューの内部にアクセスできると便利なサイト情報を含む構成ファイルがあります。常にそれを含めることができますか?
<?php
//Standard way
function index() {
$this->load->config('site_settings', true);
$data['config'] = $this->config->item('site_settings');
$data['fizz'] = 'buzz';
$this->load->view('index', $data);
}
//Way I'd like to see
function index() {
$data['foo'] = 'bar';
$this->load->view('index', $data); //$data already includes $data['config']
}
?>
オプション1:
ある種の MY_Loader 拡張機能 - 既に MY_Controller があるため、MY_Loader クラスを実行して MY_Controller に CI_Loader の代わりにそれを呼び出させることはそれほど難しくありません。ただし、これが可能かどうかはわかりません。
オプション 2:
システムファイルを編集すればこれが可能であることは知っていますが、私はそれをしないことを本当に望んでいます. そのため、CI を更新するときに変更を追跡するのが難しくなります。
オプション 3:
???
考え?
明確化のために編集: これは特に、データをビューにロードし、ビューではなくモデルとコントローラーCI_Controller
からのみアクセスできるメンバー変数を拡張および設定するためのものです。