How to get current controller or method name in Codeigniter ?

By Hardik Savani | June 8, 2017 | | 699 Viewer | Category : PHP Codeigniter


In this post, i am going to share with you how to fetch current controller or method name in codeigniter application.

We may sometime need to get controller name for logic at that time we require to get current controller name from route. Same way if you require to get current method name then you can do it simply by using $this->route variable of codeigniter.

In this example we will use two method of $this->router variable for getting controller name and method name as listed bellow:

fetch_class()

fetch_method()

We can basically use this way:

$controller = $this->router->fetch_class();

$method = $this->router->fetch_method();

Now i am going to give example with controller as listed bellow example:

Example

<?php

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


class Welcome extends CI_Controller {


/**

* Index Page for this controller.

*

* Maps to the following URL

* http://example.com/index.php/welcome

* - or -

* http://example.com/index.php/welcome/index

* - or -

* Since this controller is set as the default controller in

* config/routes.php, it's displayed at http://example.com/

*

* So any other public methods not prefixed with an underscore will

* map to /index.php/welcome/

* @see https://codeigniter.com/user_guide/general/urls.html

*/

public function index()

{

$controller = $this->router->fetch_class();

$method = $this->router->fetch_method();

print_r($controller);

print_r($method);

exit;

}

}

I hope it can help you...



We are Recommending you: