我想在CodeIgniter中的每个模型中传递一个公共变量。我正在寻找CI_Model instance,就像get_instance(),也就是CI_Controller。
我正试图从我的控制器这样做:
$ci_model = an_ci_model_instance();
$config['testvar'] = "Test Value";
$this->load->model($ci_model, '', $config);我想从任何模型中访问testvar变量。如果这个问题有点模棱两可,我很抱歉。
发布于 2018-07-14 07:58:10
在application/core/MY_Model.php中创建一个新文件
class MY_Model extends CI_Model {
public $somevar = 'foobar';
}然后在application/models中的每个模型中做:
class Some_model extends MY_Model {
function dosomething() {
echo $this->somevar;
}
}因此:
$this->load->model('some_model');
$this->some_model->dosomething(); // prints 'foobar'模型加载的第二个参数就是更改访问它的名称,第三个参数仅用于db配置。
您也可以这样做,只需用一个CI_Controller扩展MY_Controller,并且所有模型都可以访问变量,而不需要扩展MY_Model,但是在这种情况下,控制器必须扩展MY_Controller。
发布于 2018-07-14 06:53:33
你有什么错误吗?PHP_ERROR什么时候开?
尝尝这个
CI_Base::get_instance();
https://stackoverflow.com/questions/51335905
复制相似问题