我正在我的主控制器中加载两个控制器,只加载第一个控制器。
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
。如果我像这样切换两个路径字符串
$this->load->library(array('../controllers/ingredients', '../controllers/effects'));
然后它说效果是未定义的,因此它看起来总是加载第一个控制器而不是第二个控制器。我也试过自动加载它们但是我得到了一个错误,比如“超出嵌套功能限制”等等。我做错了什么,我该如何解决这个问题呢?
答案 0 :(得分: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');
答案 1 :(得分:1)