我想在CodeIgniter中的每个模型中传递一个公共变量。我正在搜索CI_Model instance
,就像搜索CI_Controller
的get_instance()
一样。
我正在尝试从我的控制器这样:
$ci_model = an_ci_model_instance();
$config['testvar'] = "Test Value";
$this->load->model($ci_model, '', $config);
我想从任何模型中访问testvar变量。如果这个问题有点模棱两可,我很抱歉。
在application/core/MY_Model.php
:中创建一个新文件
class MY_Model extends CI_Model {
public $somevar = 'foobar';
}
则在CCD_ 5中的每个模型中do:
class Some_model extends MY_Model {
function dosomething() {
echo $this->somevar;
}
}
因此:
$this->load->model('some_model');
$this->some_model->dosomething(); // prints 'foobar'
模型加载的第二个参数只是更改访问它的名称,第三个参数仅用于数据库配置。
您也可以使用相同的方法,只需使用MY_Controller
扩展CI_Controller
,并且在不扩展MY_Model
的情况下,所有模型都可以访问var,但是在这种情况下,您的控制器必须扩展MY_Controller
。
您有任何错误吗?PHP_ERROR何时打开?
试试这个
CI_Base::get_instance((;