Zend_Application-AvailableResources-Frontcontroller.xml 4.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115
  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
  45. "default").
  46. </para></listitem>
  47. <listitem><para>
  48. <emphasis>baseUrl</emphasis>&#160;: <acronym>URL</acronym> de base explicite vers
  49. l'application (normalement auto-détecté).
  50. </para></listitem>
  51. <listitem><para>
  52. <emphasis>plugins</emphasis>&#160;: tableau de nom de classe de plugins de contrôleurs.
  53. La ressource instanciera chaque classe (sans arguments de contructeur) et les
  54. enregistrera dans le contrôleur frontal.
  55. </para></listitem>
  56. <listitem><para>
  57. <emphasis>params</emphasis>&#160;: tableau de paires clés / valeurs à enregistrer dans
  58. le contrôleur frontal.
  59. </para></listitem>
  60. </itemizedlist>
  61. <para>
  62. Si une clé non-connue est fournie, elle sera enregistrée comme paramètre du contrôleur
  63. frontal en la fournissant à <methodname>setParam()</methodname>.
  64. </para>
  65. <example id="zend.application.available-resources.frontcontroller.configExample">
  66. <title>Exemple de configuration d'une ressource de contrôleur frontal</title>
  67. <para>
  68. Voici un extrait de configuration <acronym>INI</acronym> montrant comment configurer
  69. la ressource de contrôleur frontal.
  70. </para>
  71. <programlisting language="ini"><![CDATA[
  72. [production]
  73. resources.frontController.controllerDirectory = APPLICATION_PATH "/controllers"
  74. resources.frontController.moduleControllerDirectoryName = "actions"
  75. resources.frontController.moduleDirectory = APPLICATION_PATH "/modules"
  76. resources.frontController.defaultControllerName = "site"
  77. resources.frontController.defaultAction = "home"
  78. resources.frontController.defaultModule = "static"
  79. resources.frontController.baseUrl = "/subdir"
  80. resources.frontController.plugins.foo = "My_Plugin_Foo"
  81. resources.frontController.plugins.bar = "My_Plugin_Bar"
  82. resources.frontController.env = APPLICATION_ENV
  83. ]]></programlisting>
  84. </example>
  85. <example id="zend.application.available-resources.frontcontroller.propertyExample">
  86. <title>Récupération de votre contrôleur frontal à partir de votre initialiseur</title>
  87. <para>
  88. Une fois la ressource de contrôleur frontal initialisée, vous pouvez récupérer
  89. l'instance via la propriété <varname>$frontController</varname> de votre initialiseur.
  90. </para>
  91. <programlisting language="php"><![CDATA[
  92. $bootstrap->bootstrap('frontController');
  93. $front = $bootstrap->frontController;
  94. ]]></programlisting>
  95. </example>
  96. </sect2>