URI Class

URI类

URI类提供了帮助您从URI字符串中检索信息的方法。如果使用URI路由,还可以检索有关重路由段的信息。

此类由系统自动初始化,因此不需要手动进行。

类引用

class CI_URIsegment($n[, $no_result = NULL])

参数:$ n(int) - 段索引号$ no_result(混合) - 如果未找到搜索到的段,返回什么
返回:如果未找到分段值或$ no_result值
返回类型:mixed

  • $ nint) - 段索引号

  • $ no_resultmixed) - 如果搜索到的段没有找到,返回什么

Returns: Segment value or $no\_result value if not found

Return type: mixed

允许您检索特定的细分。其中n是您希望检索的段号。分段从左到右编号。例如,如果您的完整URL是这样的:

片段编号如下:

  • 新闻

  • 本地

  • metro

  • crime_is_up

可选的第二个参数默认为NULL,并允许您在请求的URI段丢失时设置此方法的返回值。例如,这将告诉方法在发生故障时返回数字0:

$ product_id = $ this-> uri-> segment(3,0);

它有助于避免编写这样的代码:

if($ this-> uri-> segment(3)=== FALSE){$ product_id = 0; } else {$ product_id = $ this-> uri-> segment(3); }

rsegment($n[, $no_result = NULL])

参数:$ n(int) - 段索引号$ no_result(混合) - 如果未找到搜索到的段,返回什么
返回:路由段值或$ no_result值如果未找到
返回类型:

  • $ nint) - 段索引号

  • $ no_resultmixed) - 如果搜索到的段没有找到,返回什么

返回:路由段值或$ no \ _result值,如果未找到

Return type: mixed

除了在使用CodeIgniter的[URI路由](../ general / routing)特性的情况下,它允许您从重定路由的URI中检索特定的段时,该方法与`segment()`相同。

slash_segment($n[, $where = 'trailing'])

参数:$ n(int) - 段索引号$ where(string) - 在哪里添加斜线('trailing'或'leading')
返回:分段值,前缀/后缀正斜杠,或者如果未找到斜线
返回类型:

  • $ nint) - 段索引号

  • $ wherestring) - 在哪里添加斜线('trailing'或'leading')

返回:段值,前/后加正斜杠,或者如果未找到斜线

返回类型:字符串

除了基于第二个参数添加尾部和/或前导斜杠之外,该方法几乎与`segment()`相同。如果该参数未使用,则添加尾部斜线。例子:

$这个 - > URI-> slash_segment(3); $ this-> uri-> slash_segment(3,'leading'); $ this-> uri-> slash_segment(3,'both');

返回:

  • 分割/

  • /分割

  • /部分/

slash_rsegment($n[, $where = 'trailing'])

参数:$ n(int) - 段索引号$ where(string) - 在哪里添加斜线('trailing'或'leading')
返回:路由段值,前缀/后缀正斜杠,或者如果未找到斜线
返回类型:

  • $ nint) - 段索引号

  • $ wherestring) - 在哪里添加斜线('trailing'或'leading')

返回:路由段值,前缀/后缀正斜杠,或者未找到斜线

Return type: string

This method is identical to `slash_segment()`, except that it lets you add slashes a specific segment from your re-routed URI in the event you are using CodeIgniter’s [URI Routing](../general/routing) feature.

uri_to_assoc([$n = 3[, $default = array()]])

参数:$ n(int) - 段索引号$ default(array) - 默认值
返回:关联URI段数组
返回类型:排列

  • $ nint) - 段索引号

  • $ defaultarray) - 默认值

返回:关联URI段数组

Return type: array

此方法可让您将URI段转换为关键字/值对的关联数组。考虑这个URI:

的index.php /用户/搜索/名/乔/位置/英国/性别/男性

使用此方法,您可以将URI转换为与此原型关联的数组:

数组

第一个参数允许您设置一个偏移量,它默认为3,因为您的URI通常会在三段中包含一个控制器/方法对。例子:

$ array = $ this-> uri-> uri_to_assoc(3); echo $ array'name';

第二个参数允许您设置默认键名,这样返回的数组将始终包含预期的索引,即使URI中缺少索引。例子:

$ default = array('name','gender','location','type','sort'); $ array = $ this-> uri-> uri_to_assoc(3,$ default);

如果URI在默认情况下不包含值,则数组索引将设置为该名称,值为NULL。

最后,如果找不到给定键的对应值(如果有奇数个URI段),则该值将被设置为NULL。

ruri_to_assoc([$n = 3[, $default = array()]])

参数:$ n(int) - 段索引号$ default(array) - 默认值
返回:关联路由URI段数组
返回类型:数组

  • $ nint) - 段索引号

  • $ defaultarray) - 默认值

返回:关联路由URI段数组

Return type: array

This method is identical to `uri_to_assoc()`, except that it creates an associative array using the re-routed URI in the event you are using CodeIgniter’s [URI Routing](../general/routing) feature.

assoc_to_uri($array)

参数:$ array(array) - 输入键/值对的数组
返回:URI字符串
返回类型:

  • $数组%28列阵%29-键/值对的输入数组

Returns: URI string

Return type: string

Takes an associative array as input and generates a URI string from it. The array keys will be included in the string. Example:

$Array=数组%28%27 Products%27=>%27 Shoes%27,%27 size%27%27,%27 color%27=>%27 red%27%29$str=$this->uri->assoc[医]到[医]URI%28$Array%29;//产品:产品/鞋/尺寸/大/颜色/红色

uri_string()

Returns:URI string
Return type:string

ruri_string()

Returns:Routed URI string
Return type:string

total_segments()

Returns:Count of URI segments
Return type:int

total_rsegments()

Returns:Count of routed URI segments
Return type:int

segment_array()

Returns:URI segments array
Return type:array

rsegment_array()

Returns:Routed URI segments array
Return type:array

© 2014–2017 British Columbia Institute of Technology

根据麻省理工学院的许可。

https://www.codeigniter.com/user[医]指南/图书馆/uri.html