我正在尝试在我的 pre_controller Hook 中加载 cookie 助手,以便在我们的网站上实现“记住我”功能。我认为用 $ci =& get_instance(); 创建 CI 对象的实例将允许我访问加载助手,但事实并非如此。
想法?
$ci =& get_instance();
$ci->load->helper('cookie');
// does not load
最佳答案
post_controller_constructor 的问题是它在构造函数之后运行(很有趣),如果您对很多事情使用 Controller 构造函数,这可能是个问题。
如果这对您来说不是问题(您的助手不会影响构造函数中运行或加载的任何内容),那么公平,如果这是一个问题,您有两个解决方案。
- 将您的代码放在MY_Controller 中而不是钩子(Hook)中
创建 MY_Controller 并添加自定义 Hook 点。
class MY_Controller extends Controller { function MY_Controller() { parent::Controller(); $GLOBALS['EXT']->_call_hook('pre_controller_constructor'); } }
请注意,如果您使用的是 CodeIgniter 3.0 或更高版本,函数 _call_hook
已重命名为 call_hook
。
关于php - CodeIgniter: Hook (pre_controller)加载助手,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2196559/