| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182 |
- <?xml version="1.0" encoding="UTF-8"?>
- <!-- EN-Revision: 24249 -->
- <!-- Reviewed: no -->
- <sect3 id="zend.controller.router.routes.static">
- <title>Zend_Controller_Router_Route_Static</title>
- <para>Los ejemplos sobre todo usan rutas dinámicas -- rutas que contienen
- patrones contra los
- cuales comparar. A veces, sin embargo, una ruta en
- particular pareciera estar seteada en
- piedra, y ejecutar el motor de
- expresiones regulares sería excesivo. La respuesta a esta
- situación es
- utilizar rutas estáticas:</para>
- <programlisting language="php"><![CDATA[
- $route = new Zend_Controller_Router_Route_Static(
- 'login',
- array('controller' => 'auth', 'action' => 'login')
- );
- $router->addRoute('login', $route);
- ]]></programlisting>
- <para>
- La ruta anterior se comparará con una
- <acronym>URL</acronym>
- de
- <filename>http://domain.com/login</filename>
- , y hará un dispatch a
- <methodname>AuthController::loginAction()</methodname>
- .
- </para>
- <note id="zend.controller.router.routes.static.warning">
- <title>Advertencia: Las Rutas Estáticas Deben Contener Defaults
- Sanos</title>
- <para>
- Dado que una ruta estática no pasa ninguna parte de la
- <acronym>URL</acronym>
- del objeto solicitud, como ser los
- parámetros, usted
- <emphasis>debe</emphasis>
- pasar todos los
- parámetros necesarios para enviar una solicitud a la ruta como si
- fuera
- por defecto. Omitiendo los valores por defecto de "controller"
- o "action" tendrá
- resultados inesperados, y probablemente el
- resultado de la solicitud no sea ejecutable.
- </para>
- <para>Como regla general, siempre proporcione cada uno de los
- siguientes valores por defecto:</para>
- <itemizedlist>
- <listitem>
- <para>controller</para>
- </listitem>
- <listitem>
- <para>action</para>
- </listitem>
- <listitem>
- <para>module (si ya no está por defecto)</para>
- </listitem>
- </itemizedlist>
- <para>Opcionalmente, también puede pasar el parámetro
- "useDefaultControllerAlways" al front
- controller durante el
- bootstrapping:</para>
- <programlisting language="php"><![CDATA[
- $front->setParam('useDefaultControllerAlways', true);
- ]]></programlisting>
- <para>Sin embargo, esto es considerado un rodeo; siempre es mejor
- definir explícitamente
- valores correctos o sanos por defecto.
- </para>
- </note>
- </sect3>
|