我正在使用这样的路由
$route['Advertisement/1.0/(:any)']="v1/$1";
$route['Advertisement/1.1/(:any)']="v1_1/$1";
最终他们两个都做同样的工作,但我必须维护他们两个,因为只是响应是一样的。
我只想知道如何知道使用 URL 调用了哪个控制器。如果我像这样知道 URL 会相应地更改响应,所以我不需要维护两个控制器
1.0 or 1.1
我希望你明白我想问什么。
提前致谢。
我正在使用这样的路由
$route['Advertisement/1.0/(:any)']="v1/$1";
$route['Advertisement/1.1/(:any)']="v1_1/$1";
最终他们两个都做同样的工作,但我必须维护他们两个,因为只是响应是一样的。
我只想知道如何知道使用 URL 调用了哪个控制器。如果我像这样知道 URL 会相应地更改响应,所以我不需要维护两个控制器
1.0 or 1.1
我希望你明白我想问什么。
提前致谢。
假设您的网址如下所示:example.com/Advertisement/1.0/...
$this->uri->segment(2);
将返回 1.0 或 1.1
根据 Codeigniter 的用户指南,如果您想知道被点击的 URL,请使用:
$uri_segments = $this->uri->uri_string();
获取URI 段。
此外,您可以使用current_url()
URL 助手获取完整的 URL(包括段);要做到这一点:
// Load URL helper first (or use autoload config)
$this->load->helper('url');
// Get the current full URL
$url = current_url();
如果您想获取特定的 URI 段,请使用:
// "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);
如果我理解正确,您可以使用以下 CI 函数获取控制器名称和方法名称
$this->router->fetch_class(); // to get controller
$this->router->fetch_method(); // to get method