Programmer's Reference Guide
| Zend_Uri |
Zend_Uri
Aperçu
Zend_Uri est un composant destiné à aider à la manipulation
et à la validation des »
Uniform Resource Identifiers (URIs). Zend_Uri existe
dans le but d'aider les autres composants du Zend Framework tels que
Zend_Http_Client mais peut aussi être utilisé comme composant
individuel.
Les URIs commence toujours avec la définition de leur schéma, suivie d'un double-points.
La construction des différents schémas variant beaucoup, une fabrique est à votre
disposition. Zend_Uri possède une fabrique qui retourne des instances
sous-classes d'elle même. Chaque sous classe possède le nom du schéma dans son nom,
comme Zend_Uri_<scheme>, où <scheme> est le
nom du schéma utilisé, tout en minuscule, sauf la première lettre. Une exception
à cette règle est HTTPS, qui est aussi géré par Zend_Uri_Http.
Créer un nouvel URI
Zend_Uri fabriquera un URI vierge, si seul son schéma est passé à
Zend_Uri::factory().
Exemple #1 Créer un URI avec Zend_Uri::factory()
<?php
require_once 'Zend/Uri.php';
// Création d'un URI vierge
$uri = Zend_Uri::factory('http');
// $uri instanceof Zend_Uri_Http
Pour créer un URI à partir de rien, passez simplement le schéma à Zend_Uri::factory()
[1]Zend_Uri. Si un schéma non supporté lui est passé, une
Zend_Uri_Exception sera levée.
Si un schéma ou URI fourni est supporté, Zend_Uri::factory()
retournera une sous-classe d'elle-même spécialisée pour le schéma à créer.
Manipuler un URI existant
Pour manipuler un URI existant, passez le entièrement à Zend_Uri::factory().
Exemple #2 Manipuler un URI existant avec Zend_Uri::factory()
<?php
require_once 'Zend/Uri.php';
// Passez l'URI complet à la fabrique
$uri = Zend_Uri::factory('http://www.zend.com');
// $uri instanceof Zend_Uri_Http
L'URI sera alors analysé et validé. S'il s'avère être invalide, une
Zend_Uri_Exception sera envoyée immédiatement. Sinon,
Zend_Uri::factory() retournera une sous classe d'elle-même
qui spécialisera le schéma manipulé.
Validation d'URI
La méthode Zend_Uri::check() peut être utilisée pour valider un URI.
Exemple #3 Validation d'URI avec Zend_Uri::check()
<?php
require_once 'Zend/Uri.php';
// Valide si l'URI passé est bien formé
$valid = Zend_Uri::check('http://uri.en.question');
// $valid est TRUE ou FALSE.
Zend_Uri::check() retourne un simple booléen, ce qui est plus
pratique que de passer par Zend_Uri::factory() et de capturer les
exceptions.
Méthodes communes
Toute instance sous-classe de Zend_Uri (par exemple
Zend_Uri_Http) possède plusieurs méthodes utiles :
Retrouver le schéma d'un URI
Le schéma d'un URI est la partie précédent les double-points (:). Par exemple, le
schéma de http://www.zend.com est http.
Exemple #4 Récupérer le schéma d'un objet Zend_Uri_*
<?php
require_once 'Zend/Uri.php';
$uri = Zend_Uri::factory('http://www.zend.com');
$scheme = $uri->getScheme(); // "http"
La méthode getScheme() retourne une chaîne de caractères.
Récupérer l'URI entier
Exemple #5 Récupérer l'URI entier depuis un objet Zend_Uri_*
<?php
require_once 'Zend/Uri.php';
$uri = Zend_Uri::factory('http://www.zend.com');
echo $uri->getUri(); // "http://www.zend.com"
La méthode getUri() retourne une chaîne de caractères représentant l'URI entier.
Valider l'URI
Zend_Uri::factory() validera de toute façon systématiquement l'URI qui lui
est passé en paramètre. Par contre, l'URI peut devenir invalide après, s'il est modifié.
Exemple #6 Valider un objet Zend_Uri_*
<?php
require_once 'Zend/Uri.php';
$uri = Zend_Uri::factory('http://www.zend.com');
$isValid = $uri->valid(); // TRUE
La méthode valid() propose une façon de vérifier si l'URI est toujours valide.
| Zend_Uri |
