如何从 Codeigniter 获取路由 URL 中的参数?

How to get the parameters in a routed URL from Codeigniter?

如果我设置:$route['about-us']='sub-directory/article/read/100',那么用siteurl/about-us.html浏览就可以了。 我们有以下工具来获取原始(真实)uri:

$this->router->directory =>sub-directory
$this->router->class =>article
$this->router->method =>read

但是如何获取参数 100?

找出路由段的最佳方法是使用 URI class,它是 CodeIgniter 核心的一部分,因此您不必加载它。首先,如果您没有使用 CodeIgniter 的 URI 路由功能,您可以使用 segment 方法,如下所示:

// See: 
// https://www.codeigniter.com/user_guide/libraries/uri.html#CI_URI::segment

$seg = $this->uri->segment(4);

但是 CodeIgniter 的文档很清楚,如果您使用 URI 路由,则需要使用 rsegment 方法,如下所示:

// See: 
// https://www.codeigniter.com/user_guide/libraries/uri.html#CI_URI::rsegment

$seg = $this->uri->rsegment(4);

对于您的特定应用程序,您可能必须使用不同的 URI 段号,因此如果 4 不起作用,那么您可以尝试 3。