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没有在配置中自动加载会话