1 <?xml version="1.0" encoding="UTF-8"?>
2 <!-- EN-Revision: 17592 -->
4 <sect3 id="zend.controller.router.routes.hostname">
5 <title>Zend_Controller_Router_Route_Hostname</title>
8 <classname>Zend_Controller_Router_Route_Hostname</classname>
10 del framework en el servidor. Funciona similarmente a la standard route,
12 funciona con el nombre del host de la
13 <acronym>URL</acronym>
14 llamada, en lugar del path.
18 Vamos a usar el ejemplo de la standard route y ver cómo se vería con
20 host. En lugar de llamar al usuario mediante un
21 path, quisiéramos que un usuario pueda llamar
23 <filename>http://martel.users.example.com</filename>
25 información acerca del usuario "martel".
28 <programlisting language="php"><![CDATA[
29 $hostnameRoute = new Zend_Controller_Router_Route_Hostname(
30 ':username.users.example.com',
32 'controller' => 'profile',
33 'action' => 'userinfo'
37 $plainPathRoute = new Zend_Controller_Router_Route_Static('');
39 $router->addRoute('user', $hostnameRoute->chain($plainPathRoute);
43 El primer parámetro del constructor en
44 <classname>Zend_Controller_Router_Route_Hostname</classname>
46 definición de ruta que será comparada con el nombre del host. Las
48 consisten en partes estáticas y dinámicas separadas
49 por el carácter punto ('.'). Las partes
50 dinámicas, llamadas variables,
51 se marcan anteponiendo dos puntos (':') al nombre de la
53 <command>:username</command>
54 . Las partes estáticas son
56 <command>user</command>
61 Las rutas del nombre del host pueden, pero nunca deben ser utilizadas
62 así. La razón detrás de
63 esto es que la ruta del nombre del host
64 solamente, concordaría con cualquier path. Entonces,
66 hacer es encadenar una ruta del path a la ruta del nombre del host. Esto
68 hace como en el ejemplo llamando a
69 <command>$hostnameRoute->chain($pathRoute);</command>
72 <varname>$hostnameRoute</varname>
74 pero devuelve una nueva ruta
76 <classname>Zend_Controller_Router_Route_Chain</classname>
78 luego puede ser entregada al router.