La classe URI fournie des méthodes pour travailler avec les URLs et adresses associées. Si vous utilisez le routage, il dispose aussi de méthodes pour fonctionner avec des urls re-routées.
segment($index = 1, $default = FALSE) retourne une partie spécifique d'une URL. La méthode retourne FALSE si le segment recherché n'existe pas.
//url: http://www.example.com/index.php/article/paris/hilton/
Le segment peut être selon l'exemple ci dessus :
echo $this->uri->segment(3); // Retourne 'hilton' echo $this->uri->segment(4, 'spears'); // Retourne 'spears'
NB: cette méthode accepte les chaines. Quand une chaine est donnée en premier argument de la méthode, la méthode retournera le segment suivant la chaîne recherchée.
echo $this->uri->segment('article'); // Retourne 'paris' echo $this->uri->segment('paris'); // Retourne 'hilton' echo $this->uri->segment('hilton'); // Retourne FALSE
Identique à la méthode segment() à l'exception qu'elle utilise les URL reroutées pour retrouver les segments.
segment_array($offset,$associative) retourne un tableau de tous les segments composants l'url.
total_segments() retourne le nombre de segment de l'url.
echo $this->uri->total_segments(); //retourne 3
string() retourne l'URL entière sous forme de chaînes de caractères.
echo $this->uri->string(); // retourne : article/paris/hilton/
last_segment() retourne le dernier segment trouvé pour une URL donnée
echo $this->uri->last_segment(); // retourne : hilton
argument() retourne les arguments passés. Cela diffère de la recherche des segments dans le sens où la méthode ne renvoie que les arguments passés sans passer par le controller et la recherche
echo $this->uri->argument(1); // retourne : hilton
argument_array() retourne sous forme de tableau tous les arguments passés
echo $this->uri->argument_array(); // retourne le tableau : array( 'hilton' )
total_arguments() retourne le nombre total d'arguments passés
echo $this->uri->total_arguments(); // retourne : 1
build_array($array, $offset = 0, $associative = FALSE) crée un tableau simple ou associatif depuis le passage en arguments d'un tableau et d'une position (offset).
Les arguments sont
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));
Cela retournera la sortie suivante :
Array
(
[2] => mango
[3] => pineapple
)
Array
(
[fruit2] => mango
[fruit3] => pineapple
)