2

メイン コントローラー内から 2 つのコントローラーを読み込んでいますが、最初の 1 つだけが読み込まれます。

class App extends CI_Controller {

    public function index() {
        $this->load->library(array('../controllers/effects', 
                             '../controllers/ingredients'));
        $data['ingredients'] = $this->ingredients->get_all();
        $data['effects'] = $this->effects->get_all();

        $this->load->view('header');      
        $this->load->view('main', $data);
        $this->load->view('footer');

    }
}

エラーが発生していますMessage: Undefined property: App::$ingredients。このように2つのパス文字列を切り替えると

$this->load->library(array('../controllers/ingredients', '../controllers/effects'));

次に、エフェクトが未定義であると表示されるため、常に最初のコントローラーをロードしますが、2 番目のコントローラーはロードしないようです。それらも自動ロードしようとしましたが、「ネストされた関数の制限を超えました」などのエラーが発生しました。何が間違っているのですか、どうすれば修正できますか?

4

2 に答える 2

3

ライブラリファイルをlibrariesフォルダー内に配置しますCI

ライブラリをコントローラーにロードできるようになりました

$this->load->library('library_name');

複数のライブラリを配列にロードする

$this->load->library(array('library_name_1', 'library_name_2'));

または、config/autoload.php でライブラリを自動ロードできます

$autoload['libraries'] = array('library_name_1', 'library_name_2');
于 2013-03-02T03:43:54.887 に答える