Zend_Controller-Router-Route-Static.xml 2.6 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970
  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <!-- EN-Revision: 15103 -->
  3. <!-- Reviewed: no -->
  4. <sect3 id="zend.controller.router.routes.static">
  5. <title>Zend_Controller_Router_Route_Static</title>
  6. <para>
  7. Los ejemplos sobre todo usan rutas dinámicas -- rutas que contienen
  8. patrones contra los cuales comparar. A veces, sin embargo, una ruta en
  9. particular pareciera estar seteada en piedra, y ejecutar el motor de
  10. expresiones regulares sería excesivo.
  11. La respuesta a esta situación es utilizar rutas estáticas:
  12. </para>
  13. <programlisting language="php"><![CDATA[
  14. $route = new Zend_Controller_Router_Route_Static(
  15. 'login',
  16. array('controller' => 'auth', 'action' => 'login')
  17. );
  18. $router->addRoute('login', $route);
  19. ]]></programlisting>
  20. <para>
  21. La ruta anterior se comparará con una URL de <methodname>http://domain.com/login</methodname>,
  22. y hará un dispatch a <methodname>AuthController::loginAction()</methodname>.
  23. </para>
  24. <note id="zend.controller.router.routes.static.warning">
  25. <title>Advertencia: Las Rutas Estáticas Deben Contener Defaults Sanos</title>
  26. <para>
  27. Dado que una ruta estática no pasa ninguna parte de la URL del
  28. objeto solicitud, como ser los parámetros, usted
  29. <emphasis>debe</emphasis> pasar todos los parámetros necesarios para
  30. enviar una solicitud a la ruta como si fuera por defecto.
  31. Omitiendo los valores por defecto de "controller" o "action" tendrá
  32. resultados inesperados, y probablemente el resultado de la solicitud
  33. no sea ejecutable.
  34. </para>
  35. <para>
  36. Como regla general, siempre proporcione cada uno de los siguientes
  37. valores por defecto:
  38. </para>
  39. <itemizedlist>
  40. <listitem><para>controller</para></listitem>
  41. <listitem><para>action</para></listitem>
  42. <listitem><para>module (si ya no está por defecto)</para></listitem>
  43. </itemizedlist>
  44. <para>
  45. Opcionalmente, también puede pasar el parámetro
  46. "useDefaultControllerAlways" al front controller durante el
  47. bootstrapping:
  48. </para>
  49. <programlisting language="php"><![CDATA[
  50. $front->setParam('useDefaultControllerAlways', true);
  51. ]]></programlisting>
  52. <para>
  53. Sin embargo, esto es considerado un rodeo; siempre es mejor
  54. definir explícitamente valores correctos o sanos por defecto.
  55. </para>
  56. </note>
  57. </sect3>
  58. <!--
  59. vim:se ts=4 sw=4 et:
  60. -->