2
0

Zend_Controller-Router-Route-Static.xml 2.5 KB

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