Zend_Application-AvailableResources-Frontcontroller.xml 4.9 KB

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