Zend_Controller-Router-Route-Static.xml 2.6 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364
  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>
  7. Les exemples ci-dessus utilisent des routes dynamiques - routes qui contiennent des
  8. motifs pour chercher des correspondances. Seulement, parfois, une route particulière est
  9. marquée en dur, et mettre en marche le moteur d'expression régulière serait inutile. La
  10. réponse à cette situation est l'utilisation de routes statiques&#160;:
  11. </para>
  12. <programlisting language="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 route ci-dessus correspond à l'URL <filename>http://domain.com/login</filename>, et
  21. distribue l'action <methodname>AuthController::loginAction()</methodname>.
  22. </para>
  23. <note id="zend.controller.router.routes.static.warning">
  24. <title>
  25. ATTENTION : Les routes statiques doivent contenir des valeurs par défaut
  26. saines
  27. </title>
  28. <para>
  29. Puisqu'une route statique ne fournit aucune partie de l'URL à l'objet de requête
  30. en tant que paramètres, vous <emphasis>devez</emphasis> fournir par défaut pour la
  31. route tous les paramètres nécessaires à la distribution de la requête. Oubliez les
  32. valeurs par défaut de "controller" ou "action" entraînera des résultats non attendus,
  33. et peut-être une requête non-distribuable.
  34. </para>
  35. <para>En général, fournissez toujours chacune des valeurs par défaut suivantes :</para>
  36. <itemizedlist>
  37. <listitem>
  38. <para>controller</para>
  39. </listitem>
  40. <listitem>
  41. <para>action</para>
  42. </listitem>
  43. <listitem>
  44. <para>module (si différent de "default")</para>
  45. </listitem>
  46. </itemizedlist>
  47. <para>
  48. Optionnellement, vous pouvez activer le paramètre "useDefaultControllerAlways" du
  49. contrôleur frontal lors de l'amorçage&#160;:
  50. </para>
  51. <programlisting language="php"><![CDATA[
  52. $front->setParam('useDefaultControllerAlways', true);
  53. ]]></programlisting>
  54. <para>
  55. Cependant, ceci est considéré comme un contournement&#160;; il vaut toujours mieux
  56. définir explicitement des valeurs par défaut saines.
  57. </para>
  58. </note>
  59. </sect3>