Php 如何使用codeigniter 3调用hooks文件夹中的库?
我有一个问题,我尝试了以下代码:Php 如何使用codeigniter 3调用hooks文件夹中的库?,php,codeigniter,codeigniter-3,Php,Codeigniter,Codeigniter 3,我有一个问题,我尝试了以下代码: 在application/config/config.php中启用挂钩 $config['enable_hooks'] = TRUE; 在applciation/config/autoload.php中添加了库 $autoload['libraries'] = array('smarty','session'); application/config/hooks.php中的代码: $hook['post_controller_constru
- 在application/config/config.php中启用挂钩
$config['enable_hooks'] = TRUE;
- 在applciation/config/autoload.php中添加了库
$autoload['libraries'] = array('smarty','session');
- application/config/hooks.php中的代码:
$hook['post_controller_constructor'][] = array( 'class' => 'App_auth', 'function' => 'index', 'filename' => 'App_auth.php', 'filepath' => 'controllers', 'params' => '' );
- application/controller/App_auth.php中的代码:
class Auth_module { private $CI; function Auth_module() { $this->CI = &get_instance(); } function index() { echo'aaaaaaaa';exit(0); if ($this->CI->session->userdata('user_id') == "" ) // If no session found redirect to login page. { redirect(site_url('login')); } } }
- application/libraries/Session.php中的示例代码:
Please check this site for the codehttp://codeigniter.com/user_guide/libraries/sessions.html
- 将函数userdata($item)替换为以下代码:
function userdata($item) { echo'bbbb';exit; return ( ! isset($this->userdata[$item])) ? FALSE : $this->userdata[$item]; }
我不知道解决方案是什么,因为我已经知道了其他代码。请用这个来启发我。谢谢!:) 为什么那个回声是“aaaa”;和回声“bbbb”;你没来吗? 我的代码也有问题吗?在配置中启用挂钩
$config[‘enable_hooks’] = TRUE;
您的
Auth_模块
应包含
function Auth_module()
{
$this->CI = &get_instance();
}
在配置中启用钩子
$config[‘enable_hooks’] = TRUE;
您的
Auth_模块
应包含
function Auth_module()
{
$this->CI = &get_instance();
}
检查实例私有$CI;更新了App_auth.phpno现在的问题是我不能显示回音'aaa';出口在我用于登录的库中,您应该使用PreControllerHook。您想在用户触摸敏感位置之前检查他。@tpojka是的,即使我使用pre_控制器,结果仍然相同…:(检查实例private$CI;更新了App_auth.phpno现在的问题是我不能显示echo'aaa';退出;在我用于登录的库中,你应该使用precontroller钩子。你想在用户触摸敏感位置之前检查他。@tpojka是的,即使我使用pre_controller,结果仍然是一样的…:(
行号:8
它在哪里?你在哪里下载文件?添加链接?我在那里更新了App_auth.php。现在我转到system\libraries\Session.php并找到函数userdata($item)添加echo'aaaa';exit;但我发现echo没有出现,错误现在消失了,但我不确定是否调用了库,因为echo exit没有在config行号:8
中自动加载会话,它在哪里?你在哪里下载了文件?添加链接?我在那里更新了App_auth.php。现在我转到system\libraries\Session.php并找到函数userdata($item)并添加echo'aaaa';exit;但我发现echo没有出现,错误现在消失了,但我不确定是否调用了库,因为echo exit没有在配置中自动加载会话