如何在CodeIgniter钩子中获取模型实例

时间:2014-01-31 16:06:16

标签: php codeigniter

我想写一个钩子。加载模型并执行其中定义的某些函数非常容易。像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();,但这是错的。 怎么样?

1 个答案:

答案 0 :(得分:0)

$CI->model[$modelname]

这在PHP中不起作用。 ->[]不可互换。

你应该能够做到这一点:

$CI->$modelname->hook_triggered_action();