Zend_Controller-Router-Route-Static.xml 2.6 KB

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