我正在学习来自非 MVC OOP 内部框架的 CI,所以我仍然对很多事情感到困惑,我并不总是了解什么是正常的 OO 编程 VS。完成代码点燃方式的事情。无论如何,我会尝试解释我的问题:
我有一个控制器,称为 Admin,它扩展了 CI_Controller。
我创建了一个类(假设自定义类的含义是我所做的不是 CI 的一部分)我将该类放在库文件夹中,该类也扩展了 CI_Controller(该扩展允许我拥有加载方法和其他一些 CI 方法)。
从我的管理控制器,我正在加载我的自定义类(命名为“ComponiPannell”,因为我是意大利人),这样:
$parameters = array('baseUrl' => $this->baseUrl);
$this->load->library('ComponiPannello', $parameters);
一切正常,我的“ComponiPannillo”确实成功了,并返回了我的管理员视图所需的东西。
现在我想在该类之后加载一个模型,因为我需要将更多信息传递给管理视图,这些信息存储在数据库中,我有一个特定的模型来提取这些额外的信息,所以我添加了几行和代码如下所示:
$parameters = array('baseUrl' => $this->baseUrl);
$this->load->library('ComponiPannello', $parameters);
$setup = $this->componipannello->return_data();
$this->data = array_merge($this->data, $setup);
$this->load->model('categories_model');
$this->data['categories'] = $this->categories_model->get_categories();
$this->data 是我传递给管理员视图的内容。
更多信息:
- 正如我所说,管理控制器和我的自定义类 ComponiPannell 都扩展了 CI_Controller
在 ComponiPannello 我有这个构造函数:
函数 _构造($params){ 父级:: _construct(); $this->load->library('session'); $this->baseUrl = $params['baseUrl']; }
如果我在 $this->load->library 之前移动 $this->load->model 部分,我没有收到任何错误,一切正常并返回正确的数据,但我想了解我在做什么。
如果我保持原样,我得到的错误如下:
致命错误:在...中的非对象上调用成员函数 get_categories() 在线...
我希望我能够以一种足够清楚的方式解释我的问题,以便您帮助我,提前感谢您花费的时间。
卢克