Zend_Controller-Router-Route-Static.xml 2.7 KB

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