Hooks in Codeigniter

前端 未结 3 1918
深忆病人
深忆病人 2021-01-18 18:40

How can I call a hook for only a few controllers instead of all controllers in CodeIgniter?

E.g.: I want to run the hook for only the admin section. How can I achiev

3条回答
  •  心在旅途
    2021-01-18 19:25

    In the hook which you wish to run selectively, you can access the ci superobject using $this->ci =& get_instance();. This acts as a pointer which can be used to access the CodeIgniter router to determine the class using $class = $this->ci->router->fetch_class();. You can then check if $class matches a certain value. This would give you:

    ci =& get_instance();
            $class = $this->ci->router->fetch_class();
            if($class === 'admin') {
                // Hook procedures
            }
        }
    }
    
    /* End of file post_controller_constructor.php */
    /* Location: ./application/hooks/post_controller_constructor.php */
    

提交回复
热议问题