钩子没有在 codeigniter 中加载

hooks didn't load in codeigniter

我是 codeigniter 的新手,我想要 2 个名称为 "login" 和 "admin" 的页面 我使用挂钩和会话来检测用户是否登录,但不幸的是挂钩根本没有加载(调用)。 有什么想法吗?
我的控制器:

<?php
defined('BASEPATH') OR exit('No direct script access allowed');

class Auth extends CI_Controller{

    public function __construct(){
      parent::__construct();
    }


    public function index(){

    }
}


我的钩子:

<?php  if ( !defined( 'BASEPATH' ) ) exit( 'No direct script access allowed' );

class Auth_hook {

    protected $CI;

    public function __construct() {
      $this->CI =& get_instance();
    }

    public function index(){
      print_r("hello!!");
      }
    }
}
?>

编辑: 最后 hooks.php

$hooks['pre_controller']=array(
    'class'=>'Auth_hook',
    'function'=>'index',
    'filename'=>'Auth_hook.php',
    'filepath'=>'hooks'
);

你查看代码手册了吗hooks

application/config/hooks.php:

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

application/hooks/MY_CLASS.php:

<?php    
function Myfunction(){
    echo "HOOK PROBLEM .. !!";
    die;
}
?>

为此,我进入此页面并获得 'HOOK PROBLEM .. !!'。

编辑:

您的代码正在执行您想要的操作。在进行任何类型的重定向之前,您需要检查登录信息。

If (user is not logged in) {
    If (Current route is not a login page) {
        Redirect user to login page
    }
}

试试这个:

$hook['pre_controller']

而不是这个:

$hooks['pre_controller']