2009-12-17 141 views
0

我可以通过预控制器挂钩调用控制器吗?挂钩呼叫控制器

就像这样,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_ *挂钩控制器挂钩不会执行。

由于提前, Shikhar的

+0

你可以发布有问题的代码吗? – nfechner 2009-12-17 13:11:56

+0

我对问题进行了格式化...希望现在有意义。 – shikhar 2009-12-17 13:17:13

+0

我看到你有相同的问题,在CI论坛上打开http://codeigniter.com/forums/viewthread/138816/#684238。你应该接受他的建议,只是扩展一个父类而不是使用钩子。 – 2009-12-17 13:32:07

回答

0

你真的不应该试图做到这一点。你不应该永远不需要从任何东西调用控制器,调用Controller并调用其他任何东西。

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

如果你可以更彻底地解释你的问题(在这里或在论坛帖子),我很乐意帮助你制定出最好的实施方案。