This is documentation for Kohana v2.3.x.
Status | Draft |
---|---|
Todo | Needs work on code examples |
The URI class provides the methods for working with URI's and URI segments. If you use routing it also has methods to work with rerouted URI's.
Note:
This library is initialized automatically by Kohana. No need to do it yourself
segment($index = 1, $default = FALSE)
retrieves a specific URI segment. Returns $default when the segment does not exist.
//url: http://www.example.com/index.php/article/paris/hilton/
The segments would be:
echo $this->uri->segment(3); // Returns 'hilton' echo $this->uri->segment(4, 'spears'); // Returns 'spears'
Note: this method also accepts strings. When a string is given as first argument, it will return the segment following the string.
echo $this->uri->segment('article'); // Returns 'paris' echo $this->uri->segment('paris'); // Returns 'hilton' echo $this->uri->segment('hilton'); // Returns FALSE
Identical to segment()
except that it uses the rerouted URI to retrieve the segments from.
segment_array($offset,$associative)
returns an array of all the URI segments
total_segments()
returns the number of segments
echo $this->uri->total_segments(); //returns 3
string()
returns the entire URI as a string
echo $this->uri->string(); // returns: article/paris/hilton/
last_segment()
returns the last segment of an URI
echo $this->uri->last_segment(); // returns: hilton
argument()
returns the requested arguments. This differs from segments as it will only look at the arguments given and skip the controller and method segment.
echo $this->uri->argument(1); // returns: hilton
argument_array()
returns an array containing all arguments
echo $this->uri->argument_array(); // returns: array( 'hilton' )
total_arguments()
returns the total number of arguments.
echo $this->uri->total_arguments(); // returns: 1
build_array($array, $offset = 0, $associative = FALSE)
creates a simple or associative array from an array and an offset. It takes
Returns the corresponding array starting from the defined offset.
Example
print Kohana::debug($this->uri->build_array(array('apple', 'mango', 'pineapple'), 1)); print Kohana::debug($this->uri->build_array(array('fruit1', 'apple', 'fruit2', 'mango', 'fruit3', 'pineapple'), 2, TRUE));
It will return:
Array ( [2] => mango [3] => pineapple ) Array ( [fruit2] => mango [fruit3] => pineapple )