Zend_Application-AvailableResources-Frontcontroller.xml 4.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114
  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <!-- EN-Revision: 15787 -->
  3. <!-- Reviewed: no -->
  4. <sect2 id="zend.application.available-resources.frontcontroller">
  5. <title>Zend_Application_Resource_Frontcontroller</title>
  6. <para>
  7. Probablement la ressource que vous allez le plus communément charger avec
  8. <classname>Zend_Application</classname> sera la ressource de contrôleur frontal qui fournit
  9. la possibilité de configurer <classname>Zend_Controller_Front</classname>. Cette ressource
  10. permet de spécifier n'importe quel paramètre du contrôleur frontal, de spécifier les plugins
  11. à initialiser, et bien plus...
  12. </para>
  13. <para>
  14. Une fois initialisée, la ressource assigne la propriété <varname>$frontController</varname>
  15. du fichier d'initialisation à l'instance <classname>Zend_Controller_Front</classname>.
  16. </para>
  17. <para>
  18. Les clés de configuration disponibles incluent les suivantes et sont sensibles à la
  19. casse&#160;:
  20. </para>
  21. <itemizedlist>
  22. <listitem><para>
  23. <emphasis>controllerDirectory</emphasis>&#160;: une chaîne de caractères spécifiant un
  24. seul dossier de contrôleurs, ou un tableau associant un nom de module et un dossier de
  25. contrôleurs.
  26. </para></listitem>
  27. <listitem><para>
  28. <emphasis>moduleControllerDirectoryName</emphasis>&#160;: une chaîne de caractères
  29. indiquant un sous-dossier dans ce module qui contient les contrôleurs.
  30. </para></listitem>
  31. <listitem><para>
  32. <emphasis>moduleDirectory</emphasis>&#160;: un dossier dans lequel tous les modules
  33. peuvent être trouvés.
  34. </para></listitem>
  35. <listitem><para>
  36. <emphasis>defaultControllerName</emphasis>&#160;: nom du contrôleur par défaut
  37. (normalement "index").
  38. </para></listitem>
  39. <listitem><para>
  40. <emphasis>defaultAction</emphasis>&#160;: nom de l'action par défaut (normalement
  41. "index").
  42. </para></listitem>
  43. <listitem><para>
  44. <emphasis>defaultModule</emphasis>&#160;: nom du module par défaut (normalement "default").
  45. </para></listitem>
  46. <listitem><para>
  47. <emphasis>baseUrl</emphasis>&#160;: <acronym>URL</acronym> de base explicite vers
  48. l'application (normalement auto-détecté).
  49. </para></listitem>
  50. <listitem><para>
  51. <emphasis>plugins</emphasis>&#160;: tableau de nom de classe de plugins de contrôleurs.
  52. La ressource instanciera chaque classe (sans arguments de contructeur) et les
  53. enregistrera dans le contrôleur frontal.
  54. </para></listitem>
  55. <listitem><para>
  56. <emphasis>params</emphasis>&#160;: tableau de paires clés / valeurs à enregistrer dans
  57. le contrôleur frontal.
  58. </para></listitem>
  59. </itemizedlist>
  60. <para>
  61. Si une clé non-connue est fournie, elle sera enregistrée comme paramètre du contrôleur
  62. frontal en la fournissant à <methodname>setParam()</methodname>.
  63. </para>
  64. <example id="zend.application.available-resources.frontcontroller.configExample">
  65. <title>Exemple de configuration d'une ressource de contrôleur frontal</title>
  66. <para>
  67. Voici un extrait de configuration <acronym>INI</acronym> montrant comment configurer
  68. la ressource de contrôleur frontal.
  69. </para>
  70. <programlisting language="ini"><![CDATA[
  71. [production]
  72. resources.frontController.controllerDirectory = APPLICATION_PATH "/controllers"
  73. resources.frontController.moduleControllerDirectoryName = "actions"
  74. resources.frontController.moduleDirectory = APPLICATION_PATH "/modules"
  75. resources.frontController.defaultControllerName = "site"
  76. resources.frontController.defaultAction = "home"
  77. resources.frontController.defaultModule = "static"
  78. resources.frontController.baseUrl = "/subdir"
  79. resources.frontController.plugins.foo = "My_Plugin_Foo"
  80. resources.frontController.plugins.bar = "My_Plugin_Bar"
  81. resources.frontController.env = APPLICATION_ENV
  82. ]]></programlisting>
  83. </example>
  84. <example id="zend.application.available-resources.frontcontroller.propertyExample">
  85. <title>Récupération de votre contrôleur frontal à partir de votre initialiseur</title>
  86. <para>
  87. Une fois la ressource de contrôleur frontal initialisée, vous pouvez récupérer
  88. l'instance via la propriété <varname>$frontController</varname> de votre initialiseur.
  89. </para>
  90. <programlisting language="php"><![CDATA[
  91. $bootstrap->bootstrap('frontController');
  92. $front = $bootstrap->frontController;
  93. ]]></programlisting>
  94. </example>
  95. </sect2>