Codeigniter在post控制器构造函数钩子中获取当前控制器


codeigniter get current controller in post controller constructor hook

我试图在"后控制器构造器"钩子中获得被调用控制器的名称:

<?php
function authenticate() {
    $CI =& get_instance();
    $controller = $CI->router->class;
}

但是我得到这个错误信息:

遇到PHP错误

严重性:注意

消息:尝试获取非对象的属性

文件名:钩/post_controller_constructor.php

行号:5

回溯:

File:/…/codeigniter - 3.0 rc3/应用程序//post_controller_constructor.php hook线:5功能:_error_handler

File:/…/index . php线:292功能:require_once

知道为什么吗?

<?php
      function authenticate() 
      {
         $CI = &get_instance();
         $controller = $CI->router->fetch_class();  //Controller name
         $method     = $CI->router->fetch_method();  //Method name
      }

我不确定。但你可以这样试试。Fetch_class用于获取类名,method用于获取方法名。

$this->router->fetch_class(); 
$this->router->fetch_method();