[ZF-10089] Zend_Log
[zend.git] / documentation / manual / fr / module_specs / Zend_Application-AvailableResources-Frontcontroller.xml
blobe59ca46e696916306822848415c938df39295d6c
1 <?xml version="1.0" encoding="UTF-8"?>
2 <!-- EN-Revision: 20885 -->
3 <!-- Reviewed: no -->
4 <sect2 id="zend.application.available-resources.frontcontroller">
5     <title>Zend_Application_Resource_Frontcontroller</title>
7     <para>
8         Probablement la ressource que vous allez le plus communément charger avec
9         <classname>Zend_Application</classname> sera la ressource de contrôleur frontal qui fournit
10         la possibilité de configurer <classname>Zend_Controller_Front</classname>. Cette ressource
11         permet de spécifier n'importe quel paramètre du contrôleur frontal, de spécifier les plugins
12         à initialiser, et bien plus...
13     </para>
15     <para>
16         Une fois initialisée, la ressource assigne la propriété <varname>$frontController</varname>
17         du fichier d'initialisation à l'instance <classname>Zend_Controller_Front</classname>.
18     </para>
20     <para>
21         Les clés de configuration disponibles incluent les suivantes et sont sensibles à la
22         casse&#160;:
23     </para>
25     <itemizedlist>
26         <listitem><para>
27             <emphasis><property>controllerDirectory</property></emphasis>&#160;: une chaîne de
28             caractères spécifiant un seul dossier de contrôleurs, ou un tableau associant un
29             nom de module et un dossier de contrôleurs.
30         </para></listitem>
32         <listitem><para>
33             <emphasis><property>moduleControllerDirectoryName</property></emphasis>&#160;: une
34             chaîne de caractères indiquant un sous-dossier dans ce module qui contient les
35             contrôleurs.
36         </para></listitem>
38         <listitem><para>
39             <emphasis><property>moduleDirectory</property></emphasis>&#160;: un dossier dans
40             lequel tous les modules peuvent être trouvés.
41         </para></listitem>
43         <listitem><para>
44             <emphasis><property>defaultControllerName</property></emphasis>&#160;: nom du
45             contrôleur par défaut (normalement "index").
46         </para></listitem>
48         <listitem><para>
49             <emphasis><property>defaultAction</property></emphasis>&#160;: nom de l'action par
50             défaut (normalement "index").
51         </para></listitem>
53         <listitem><para>
54             <emphasis><property>defaultModule</property></emphasis>&#160;: nom du module par
55             défaut (normalement "default").
56         </para></listitem>
58         <listitem><para>
59             <emphasis><property>baseUrl</property></emphasis>&#160;: <acronym>URL</acronym>
60             de base explicite vers l'application (normalement auto-détecté).
61         </para></listitem>
63         <listitem><para>
64             <emphasis><property>plugins</property></emphasis>&#160;: tableau de nom de classe
65             de plugins de contrôleurs. La ressource instanciera chaque classe (sans arguments
66             de contructeur) et les enregistrera dans le contrôleur frontal. Si vous souhaitez
67             enregistrer un plugin avec un index particulier dans la pile des plugins, vous
68             devez fournir un tableau avec deux clés <property>class</property> et
69             <property>stackIndex</property>.
70         </para></listitem>
72         <listitem><para>
73             <emphasis><property>params</property></emphasis>&#160;: tableau de paires
74             clés&#160;/&#160;valeurs à enregistrer dans le contrôleur frontal.
75         </para></listitem>
77         <listitem>
78             <para>
79                 <emphasis><property>returnresponse</property></emphasis>&#160;: active ou non le
80                 retour de l'objet de réponse après la distribution du contrôleur frontal. Cette
81                 valeur devrait être booléenne&#160;; par défaut, ceci est désactivé.
82             </para>
83         </listitem>
84     </itemizedlist>
86     <para>
87         Si une clé non-connue est fournie, elle sera enregistrée comme paramètre du contrôleur
88         frontal en la fournissant à <methodname>setParam()</methodname>.
89     </para>
91     <example id="zend.application.available-resources.frontcontroller.configExample">
92         <title>Exemple de configuration d'une ressource de contrôleur frontal</title>
94         <para>
95             Voici un extrait de configuration <acronym>INI</acronym> montrant comment configurer
96             la ressource de contrôleur frontal.
97         </para>
99         <programlisting language="ini"><![CDATA[
100 [production]
101 resources.frontController.controllerDirectory = APPLICATION_PATH "/controllers"
102 resources.frontController.moduleControllerDirectoryName = "actions"
103 resources.frontController.moduleDirectory = APPLICATION_PATH "/modules"
104 resources.frontController.defaultControllerName = "site"
105 resources.frontController.defaultAction = "home"
106 resources.frontController.defaultModule = "static"
107 resources.frontController.baseUrl = "/subdir"
108 resources.frontController.plugins.foo = "My_Plugin_Foo"
109 resources.frontController.plugins.bar = "My_Plugin_Bar"
110 resources.frontController.plugins.baz.class = "My_Plugin_Baz"
111 resources.frontController.plugins.baz.stackIndex = 123
112 resources.frontController.returnresponse = 1
113 resources.frontController.env = APPLICATION_ENV
114 ]]></programlisting>
115     </example>
117     <example id="zend.application.available-resources.frontcontroller.propertyExample">
118         <title>Récupération de votre contrôleur frontal à partir de votre initialiseur</title>
120         <para>
121             Une fois la ressource de contrôleur frontal initialisée, vous pouvez récupérer
122             l'instance via la propriété <varname>$frontController</varname> de votre initialiseur.
123         </para>
125         <programlisting language="php"><![CDATA[
126 $bootstrap->bootstrap('frontController');
127 $front = $bootstrap->frontController;
128 ]]></programlisting>
129     </example>
130 </sect2>