URI Class
URI类
URI类提供了帮助您从URI字符串中检索信息的方法。如果使用URI路由,还可以检索有关重路由段的信息。
注
此类由系统自动初始化,因此不需要手动进行。
类引用
class CI_URIsegment($n[, $no_result = NULL])
参数: | $ n(int) - 段索引号$ no_result(混合) - 如果未找到搜索到的段,返回什么 |
---|---|
返回: | 如果未找到分段值或$ no_result值 |
返回类型: | mixed |
$ n
(int
) - 段索引号
$ no_result
(mixed
) - 如果搜索到的段没有找到,返回什么
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值如果未找到 |
返回类型: | 杂 |
$ n
(int
) - 段索引号
$ no_result
(mixed
) - 如果搜索到的段没有找到,返回什么
返回:路由段值或$ no \ _result值,如果未找到
Return type: mixed
除了在使用CodeIgniter的[URI路由](../ general / routing)特性的情况下,它允许您从重定路由的URI中检索特定的段时,该方法与`segment()`相同。
slash_segment($n[, $where = 'trailing'])
参数: | $ n(int) - 段索引号$ where(string) - 在哪里添加斜线('trailing'或'leading') |
---|---|
返回: | 分段值,前缀/后缀正斜杠,或者如果未找到斜线 |
返回类型: | 串 |
$ n
(int
) - 段索引号
$ where
(string
) - 在哪里添加斜线('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') |
---|---|
返回: | 路由段值,前缀/后缀正斜杠,或者如果未找到斜线 |
返回类型: | 串 |
$ n
(int
) - 段索引号
$ where
(string
) - 在哪里添加斜线('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段数组 |
返回类型: | 排列 |
$ n
(int
) - 段索引号
$ default
(array
) - 默认值
返回:关联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段数组 |
返回类型: | 数组 |
$ n
(int
) - 段索引号
$ default
(array
) - 默认值
返回:关联路由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
根据麻省理工学院的许可。