用钩子调用控制器

时间:2009-12-17 13:08:04

标签: php codeigniter

我可以使用pre_controller挂钩调用控制器。

像这样的东西,其中ControllerHook是一个普通的控制器。

$hook['pre_controller'][] = array(
  'class'    => 'ControllerHook',
  'function' => 'controllerHookFunction',
  'filename' => 'ControllerHook.php',
  'filepath' => 'hooks',
);

我已经尝试过了,它运行正常。问题是后挂钩处理我得到这个错误

Fatal error: Call to a member function _assign_libraries() on a non-object in F:\xampp\htdocs\trunk\system\libraries\Loader.php on line 1038

我不知道这里有什么问题。

我知道我可以轻松地扩展控制器,但我更喜欢用钩子来做。 使用post_controller_ * hook,控制器钩子不会执行。

提前致谢, Shikhar的

1 个答案:

答案 0 :(得分:0)

你真的不应该这样做。您不应该从任何东西调用Controller,调用Controller并调用其他任何东西。

有很多令人困惑的“我该怎么做?”第一次开始使用CodeIgniter的时刻,但通常会跟着“哦,我做错了”的实现。

如果您能够更彻底地解释您的问题(在这里或在论坛帖子中),我很乐意帮助您制定最佳实施方案。