Reputation: 1365
I am using routing like this
$route['Advertisement/1.0/(:any)']="v1/$1";
$route['Advertisement/1.1/(:any)']="v1_1/$1";
eventually both of them just do same work but i have to maintain both of them because of just response is same.
All is i want to know is how do i get to know the which controller is called using URL .If i get to know the URL like so will change the response accordingly so i don't need to maintain two controllers
1.0 or 1.1
I hope you understand what i am trying to ask.
Thanks in advance.
Upvotes: 0
Views: 798
Reputation: 99484
According to Codeigniter's User Guide, If you want to know the URL which is hit, then use:
$uri_segments = $this->uri->uri_string();
To get the URI segments.
Also, you can use current_url()
URL helper to get the full URL (including segments); To do that:
// Load URL helper first (or use autoload config)
$this->load->helper('url');
// Get the current full URL
$url = current_url();
And if you want to get a specific segment of URI, use:
// "n" is the segment number you wish to retrieve,
// in this case, n = 2 gets '1.0' or '1.1'
$segment = $this->uri->segment(n);
Upvotes: 1
Reputation: 54619
Assuming your URL looks like this: example.com/Advertisement/1.0/...
$this->uri->segment(2);
will return 1.0 or 1.1
Upvotes: 1
Reputation: 4017
If i understood correctly, you can get the controller name and method name by using the following CI functions
$this->router->fetch_class(); // to get controller
$this->router->fetch_method(); // to get method
Upvotes: 0