Codeigniter get controller name in helper

后端 未结 4 606
醉酒成梦
醉酒成梦 2021-02-08 04:13

I have a custom helper that i use for logging.

Within one of the functions of the helper i need to get the name of the controller that was called. Is there a way to do i

相关标签:
4条回答
  • 2021-02-08 04:48

    $this->>router->fetch_method(); will return index if you do something like this:

    class Someclass extends CI_Controller {        
        function index(){        
            $this->edit();        
        }        
        function edit(){        
            $this->router->fetch_method(); //outputs index
        }
    }
    
    0 讨论(0)
  • 2021-02-08 04:53

    You can use the following in CI2.x

    $this->router->fetch_class();
    

    You may need to get an instance of the CI super variable $this first- in which case. Use the following:

    $ci =& get_instance();
    $ci->router->fetch_class();
    

    There's also a $ci->router->fetch_method(); method if you need the name of the method called for any reason.

    0 讨论(0)
  • 2021-02-08 04:58

    this should work (not so sure if it works in the helper):

    $ci =& get_instance();
    $ci->router->class // gets class name (controller)
    $ci->router->method // gets function name (controller function)
    
    0 讨论(0)
  • 2021-02-08 04:59

    You can also use the URI class

    $ci = & get_instance();
    $ci->uri->segment(1) // That stands for controller
    $ci->uri->segment(2) // That stands for method
    
    0 讨论(0)
提交回复
热议问题