| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354 |
- <?xml version="1.0" encoding="utf-8"?>
- <!-- EN-Revision: 24249 -->
- <!-- Reviewed: no -->
- <sect3 id="zend.controller.router.routes.hostname">
- <title>Zend_Controller_Router_Route_Hostname</title>
- <para>
- <classname>Zend_Controller_Router_Route_Hostname</classname> est la route par nom
- d'hôte du framework. Elle fonctionne de la même manière que la route standard, mais elle
- utilise le nom d'hôte de l'URL appelé au lieu du chemin.
- </para>
- <para>
- Utilisons l'exemple d'une route standard et regardons ce que cela donnerais en
- utilisant le nom d'hôte. Au lieu d'appeler l'utilisateur par le chemin, nous voulons être
- capable d'appeler <code>http://toto.users.example.com</code> pour voir les informations
- concernant l'utilisateur "toto" 
- </para>
- <programlisting language="php"><![CDATA[
- $hostnameRoute = new Zend_Controller_Router_Route_Hostname(
- ':username.users.example.com',
- array(
- 'controller' => 'profile',
- 'action' => 'userinfo'
- )
- );
- $plainPathRoute = new Zend_Controller_Router_Route_Static('');
- $router->addRoute('user', $hostnameRoute->chain($plainPathRoute));
- ]]></programlisting>
- <para>
- Le premier paramètre dans le constructeur
- <classname>Zend_Controller_Router_Route_Hostname</classname> est la définition d'une route
- qui correspondra à un nom d'hôte. Les définitions de route consistent en des parties
- statiques et des parties dynamiques séparées par le caractère point ("<code>.</code>"). Les
- parties dynamiques, appelées variables, sont marquées en précédant le nom de variable par
- le caractère deux-points ("<code>:</code>") : <code>:username</code>. Les parties
- statiques sont de simples textes : <code>user</code>.
- </para>
- <para>
- Les routes par nom d'hôtes peuvent, mais ne devraient pas être utilisées comme ceci.
- La raison à cela est que qu'une route par nom d'hôte seule ne correspondra à aucun chemin.
- Donc vous devez donc chaîner le chemin d'une route à une route par nom d'hôte. Ceci est
- réalisé comme dans l'exemple ci-dessous en appelant
- <code>$hostnameRoute->chain($pathRoute);</code>. En faisant ceci,
- <varname>$hostnameRoute</varname> n'est pas modifié, mais une nouvelle route
- (<classname>Zend_Controller_Router_Route_Chain</classname>) est retournée, qui peut ainsi
- être fournie au routeur.
- </para>
- </sect3>
|