| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970 |
- <?xml version="1.0" encoding="UTF-8"?>
- <!-- EN-Revision: 15103 -->
- <!-- 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 role="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 URL de <code>http://domain.com/login</code>,
- y hará un dispatch a <code>AuthController::loginAction()</code>.
- </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 URL 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 role="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>
- <!--
- vim:se ts=4 sw=4 et:
- -->
|