File: Zend_Layout-Options.xml

package info (click to toggle)
zendframework 1.12.9%2Bdfsg-2
  • links: PTS, VCS
  • area: main
  • in suites: jessie-kfreebsd
  • size: 133,584 kB
  • sloc: xml: 1,311,829; php: 570,173; sh: 170; makefile: 125; sql: 121
file content (210 lines) | stat: -rw-r--r-- 8,709 bytes parent folder | download | duplicates (2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
<?xml version="1.0" encoding="UTF-8"?>
<!-- EN-Revision: 24249 -->
<!-- Reviewed: no -->
<sect1 id="zend.layout.options">
    <title>Zend_Layout options de configuration</title>

    <para>
        <classname>Zend_Layout</classname> possède quelques options. Vous pouvez les spécifier
        grâce à des accesseurs. Autrement, en passant un tableau ou un objet
        <classname>Zend_Config</classname> au constructeur, ou à <methodname>startMvc()</methodname>. Un tableau
        d'options peut aussi être passé à <methodname>setOptions()</methodname>, un objet
        <classname>Zend_Config</classname> peut être passé à <methodname>setConfig()</methodname>. Les options
        de configuration sont les suivantes :
    </para>

    <itemizedlist>
        <listitem>
            <para>
                <emphasis>layout</emphasis> : le nom du script de layout. L'inflecteur traduit
                alors ceci en nom de fichier. Par défaut, il s'agit de "layout" traduit vers
                "layout.phtml". Les accesseurs sont <methodname>setLayout()</methodname> et
                <methodname>getLayout()</methodname>.
            </para>
        </listitem>

        <listitem>
            <para>
                <emphasis>layoutPath</emphasis> : l'url de base vers les scripts de layout.
                Les accesseurs sont <methodname>setLayoutPath()</methodname> et
                <methodname>getLayoutPath()</methodname>.
            </para>
        </listitem>

        <listitem>
            <para>
                <emphasis>contentKey</emphasis> : la variable de layout utilisée pour accéder
                au contenu par défaut (lorsqu'utilisée couplée avec <acronym>MVC</acronym>). La valeur par défaut est
                "content". Pour les accesseurs : <methodname>setContentKey()</methodname> et
                <methodname>getContentKey()</methodname>.
            </para>
        </listitem>

        <listitem>
            <para>
                <emphasis>mvcSuccessfulActionOnly</emphasis> : si une action envoie une
                exception et que cette option vaut <constant>TRUE</constant>, alors le layout ne sera pas
                rendu. (Ceci évite un double rendu alors que le plugin <link
                linkend="zend.controller.plugins.standard.errorhandler">ErrorHandler</link> est
                activé). Par défaut cette option est à <constant>TRUE</constant>. Ses accesseurs :
                <methodname>setMvcSuccessfulActionOnly()</methodname> et
                <methodname>getMvcSuccessfulActionOnly()</methodname>.
            </para>
        </listitem>

        <listitem>
            <para>
                <emphasis>view</emphasis> : l'objet de vue (<classname>Zend_View</classname>)
                utilisée par le layout pour rendre son script. Utilisé avec <acronym>MVC</acronym>,
                <classname>Zend_Layout</classname> cherchera à récupérer la vue via l'aide <link
                linkend="zend.controller.actionhelpers.viewrenderer">ViewRenderer</link>, si aucun
                objet de vue ne lui est passé explicitement. Les accesseurs sont
                <methodname>setView()</methodname> et <methodname>getView()</methodname>.
            </para>
        </listitem>

        <listitem>
            <para>
                <emphasis>helperClass</emphasis> : la classe représentant l'aide d'action
                lorsque <classname>Zend_Layout</classname> est utilisé avec les composants <acronym>MVC</acronym>. Par
                défaut il s'agit de
                <classname>Zend_Layout_Controller_Action_Helper_Layout</classname>. Les accesseurs
                sont <methodname>setHelperClass()</methodname> et <methodname>getHelperClass()</methodname>.
            </para>
        </listitem>

        <listitem>
            <para>
                <emphasis>pluginClass</emphasis> : la classe représentant le plugin de
                contrôleur frontal lorsque <classname>Zend_Layout</classname> est utilisé avec les
                composants <acronym>MVC</acronym>. Par défaut, il s'agit de
                <classname>Zend_Layout_Controller_Plugin_Layout</classname>. Les accesseurs sont
                <methodname>setPluginClass()</methodname> et <methodname>getPluginClass()</methodname>.
            </para>
        </listitem>

        <listitem>
            <para>
                <emphasis>inflector</emphasis> : l'inflecteur utilisé pour la résolution des
                noms de layout vers les scripts de layout. Voyez <link
                linkend="zend.layout.advanced.inflector">la documentation spécifique pour plus de
                détails</link>. Les accesseurs sont <methodname>setInflector()</methodname> et
                <methodname>getInflector()</methodname>.
            </para>
        </listitem>
    </itemizedlist>

    <note>
        <title>Vous devez passer les helperClass et pluginClass à startMvc()</title>

        <para>
            Pour que les paramètres <code>helperClass</code> et <code>pluginClass</code>
            agissent, vous devez les passer en options à <methodname>startMvc()</methodname>. Si vous les
            spécifiez après, ils seront ignorés.
        </para>
    </note>

    <sect2 id="zend.layout.options.examples">
        <title>Exemples</title>

        <para>
            Les exemples sont basés sur les paramètres <varname>$options</varname> et
            <varname>$config</varname> suivants :
        </para>

        <programlisting language="php"><![CDATA[
$options = array(
    'layout'     => 'foo',
    'layoutPath' => '/chemin/vers/layouts',
    'contentKey' => 'CONTENT'
    // ignorés si MVC n'est pas utilisé
);
]]></programlisting>

        <programlisting language="php"><![CDATA[
/**
[layout]
layout = "foo"
layoutPath = "/chemin/vers/layouts"
contentKey = "CONTENT"
*/
$config = new Zend_Config_Ini('/chemin/vers/layout.ini', 'layout');
]]></programlisting>

        <example id="zend.layout.options.examples.constructor">
            <title>Passer des options au constructeur ou à startMvc()</title>

            <para>
                Le constructeur et la méthode statique <methodname>startMvc()</methodname> acceptent soit
                un tableau d'options, soit un objet <classname>Zend_Config</classname>.
            </para>

            <para>Voyons le cas du tableau :</para>

            <programlisting language="php"><![CDATA[
// Avec le constructeur :
$layout = new Zend_Layout($options);

// Avec startMvc():
$layout = Zend_Layout::startMvc($options);
]]></programlisting>

            <para>Et maintenant avec l'objet de configuration :</para>

            <programlisting language="php"><![CDATA[
$config = new Zend_Config_Ini('/chemin/vers/layout.ini', 'layout');

// Cas du constructeur:
$layout = new Zend_Layout($config);

// Via startMvc():
$layout = Zend_Layout::startMvc($config);
]]></programlisting>

            <para>
                C'est la manière la plus simple de configurer votre objet
                <classname>Zend_Layout</classname>.
            </para>
        </example>

        <example id="zend.layout.options.examples.setoptionsconfig">
            <title>Utilisation de setOptions() et setConfig()</title>

            <para>
                Pour configurer <classname>Zend_Layout</classname> après l'avoir instanciée,
                utilisez les méthodes <methodname>setOptions()</methodname> et <methodname>setConfig()</methodname> sur
                l'objet :
            </para>

            <programlisting language="php"><![CDATA[
// Utilisation d'un tableau d'options:
$layout->setOptions($options);

// Utilisation d'un objet Zend_Config:
$layout->setConfig($options);
]]></programlisting>

            <para>
                Notez cependant que certaines options comme <code>pluginClass</code> et
                <code>helperClass</code> n'auront aucun effet avec ses méthodes. Elles doivent être
                passées au constructeur ou à la méthode <methodname>startMvc()</methodname>.
            </para>
        </example>

        <example id="zend.layout.options.examples.accessors">
            <title>Utilisation des accesseurs</title>

            <para>
                Enfin, vous pouvez aussi configurer votre objet de
                <classname>Zend_Layout</classname> grâce à ses accesseurs. Ils peuvent s'utiliser
                chaînés (interface fluide):
            </para>

            <programlisting language="php"><![CDATA[
$layout->setLayout('foo')
       ->setLayoutPath('/chemin/vers/layouts')
       ->setContentKey('CONTENT');
]]></programlisting>
        </example>
    </sect2>
</sect1>