我想写一个钩子。加载模型并执行其中定义的某些函数非常容易。像jusk一样:
$this->load->model('requestmodel');
$this->requestmodel->insert();
但是在钩子中,没有$this
,我知道这有效:
$CI =& get_instance();
$CI->load->model('requestmodel');
$CI->requestmodel->hook_triggered_action();
但这是一种硬编码方式,我想做的是:
global $RTR;
$controller = $RTR->class;
$modelname = $controller.'model';
$CI->load->model($modelname);
$CI->$modename->hook_triggered_action(); // this line throws an error
我试过了$CI->model[$modename]->hook_triggered_action();
,但这是错的。
怎么样?
答案 0 :(得分:0)
$CI->model[$modelname]
这在PHP中不起作用。 ->
和[]
不可互换。
你应该能够做到这一点:
$CI->$modelname->hook_triggered_action();