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 (222 lines) | stat: -rw-r--r-- 9,078 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
211
212
213
214
215
216
217
218
219
220
221
222
<?xml version="1.0" encoding="UTF-8"?>
<!-- EN-Revision: 24249 -->
<!-- Reviewed: no -->
<sect1 id="zend.layout.options">
    <title>Opções de Configuração Zend_Layout</title>

    <para>
        <classname>Zend_Layout</classname> tem uma variedade de opções de configuração. Essas
        podem ser configuradas chamando os acessores apropriados, passando uma matriz ou objeto
        <classname>Zend_Config</classname> para o construtor ou
        <methodname>startMvc()</methodname>, passando uma matriz de opções para
        <methodname>setOptions()</methodname>, ou passando um objeto
        <classname>Zend_Config</classname> para <methodname>setConfig()</methodname>.
    </para>

    <itemizedlist>
        <listitem>
            <para>
                <emphasis>layout</emphasis>: o layout a ser usado. Utiliza o inflector atual para
                resolver o nome fornecido para o view script de layout apropriado. Por padrão,
                esse valor é 'layout' e resolve para 'layout.phtml'. Os acessores são
                <methodname>setLayout()</methodname> e <methodname>getLayout()</methodname>.
            </para>
        </listitem>

        <listitem>
            <para>
                <emphasis>layoutPath</emphasis>: o caminho base para os view scripts
                de layout. Os acessores são <methodname>setLayoutPath()</methodname> e
                <methodname>getLayoutPath()</methodname>.
            </para>
        </listitem>

        <listitem>
            <para>
                <emphasis>contentKey</emphasis>: a variável de layout usada para o conteúdo
                padrão (quando usado com o <acronym>MVC</acronym>). O valor padrão é 'content'.
                Os acessores são <methodname>setContentKey()</methodname> e
                <methodname>getContentKey()</methodname>.
            </para>
        </listitem>

        <listitem>
            <para>
                <emphasis>mvcSuccessfulActionOnly</emphasis>: quando usar o
                <acronym>MVC</acronym>, se uma ação lança uma exceção e esse marco
                é <constant>TRUE</constant>, o layout não será renderizado (isso é para
                prevenir dupla renderização do layout quando o <link
                linkend="zend.controller.plugins.standard.errorhandler">ErrorHandler plugin</link>
                estiver em uso). Por padrão, o marco é <constant>TRUE</constant>. Os acessores são
                <methodname>setMvcSuccessfulActionOnly()</methodname> e
                <methodname>getMvcSuccessfulActionOnly()</methodname>.
            </para>
        </listitem>

        <listitem>
            <para>
                <emphasis>view</emphasis>: O objeto view para ser usado na renderização.
                Quando usado com o <acronym>MVC</acronym>, <classname>Zend_Layout</classname>
                tentará usar o objeto view registrado com o
                <link linkend="zend.controller.actionhelpers.viewrenderer">ViewRenderer</link>
                se nenhum objeto view tiver sido passado explicitamente. Os acessores são
                <methodname>setView()</methodname> e <methodname>getView()</methodname>.
            </para>
        </listitem>

        <listitem>
            <para>
                <emphasis>helperClass</emphasis>: a classe action helper para usar quando
                <classname>Zend_Layout</classname> estiver utilizando os componentes
                <acronym>MVC</acronym>. Por padrão, ela é
                <classname>Zend_Layout_Controller_Action_Helper_Layout</classname>.
                Os acessores são <methodname>setHelperClass()</methodname> e
                <methodname>getHelperClass()</methodname>.
            </para>
        </listitem>

        <listitem>
            <para>
                <emphasis>pluginClass</emphasis>: a classe front controller plugin para usar
                quando <classname>Zend_Layout</classname> estiver utilizando os componentes
                <acronym>MVC</acronym>. Por padrão, ela é
                <classname>Zend_Layout_Controller_Plugin_Layout</classname>. Os acessores são
                <methodname>setPluginClass()</methodname> e
                <methodname>getPluginClass()</methodname>.
            </para>
        </listitem>

        <listitem>
            <para>
                <emphasis>inflector</emphasis>: o inflector a ser usado quando resolver
                nomes para caminhos de view scripts de layout; veja
                <link linkend="zend.layout.advanced.inflector">a documentação
                <classname>Zend_Layout</classname> inflector para mais detalhes</link>. Os
                acessores são <methodname>setInflector()</methodname> e
                <methodname>getInflector()</methodname>.
            </para>
        </listitem>
    </itemizedlist>

    <note>
        <title>helperClass e pluginClass devem ser passados para startMvc()</title>

        <para>
            Para que as configurações <property>helperClass</property> e
            <property>pluginClass</property> tenham efeito, elas devem ser passadas como opções para
            <methodname>startMvc()</methodname>; se forem configuradas mais tarde,
            elas não tem efeito.
        </para>
    </note>

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

        <para>
            Os seguintes exemplos assumem a seguinte matriz <varname>$options</varname>
            e objeto <varname>$config</varname>:
        </para>

        <programlisting language="php"><![CDATA[
$options = array(
    'layout'     => 'foo',
    'layoutPath' => '/path/to/layouts',
    'contentKey' => 'CONTENT',           // ignorado quando o MVC não é usado
);
]]></programlisting>

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

        <example id="zend.layout.options.examples.constructor">
            <title>Passando opções para o construtor ou startMvc()</title>

            <para>
                Tanto o construtor quanto o método estático <methodname>startMvc()</methodname>
                podem aceitar tanto uma matriz de opções quanto um objeto
                <classname>Zend_Config</classname> com opções de modo a configurar
                a instância de <classname>Zend_Layout</classname>.
            </para>

            <para>Primeiro, dê uma olhada na passagem de uma matriz:</para>

            <programlisting language="php"><![CDATA[
// Usando um construtor:
$layout = new Zend_Layout($options);

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

            <para>E agora usando um objeto config:</para>

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

// Usando construtor:
$layout = new Zend_Layout($config);

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

            <para>
                Basicamente, esse é o modo mais fácil de customizar sua instância
                <classname>Zend_Layout</classname>.
            </para>
        </example>

        <example id="zend.layout.options.examples.setoptionsconfig">
            <title>Usando setOption() e setConfig()</title>

            <para>
                Algumas vezes você precisa configurar o objeto <classname>Zend_Layout</classname>
                depois que ele já foi instanciado; <methodname>setOptions()</methodname> e
                <methodname>setConfig()</methodname> dão a você um modo fácil
                e rápido de fazer isso:
            </para>

            <programlisting language="php"><![CDATA[
// Usando uma matriz de opções:
$layout->setOptions($options);

// Usando um objeto Zend_Config:
$layout->setConfig($options);
]]></programlisting>

            <para>
                Note, entretanto, que certas opções, tais como <property>pluginClass</property> e
                <property>helperClass</property>, não serão afetadas quando a passagem for feita
                por esse método; elas precisam ser passadas ao construtor ou método
                <methodname>startMvc()</methodname>.
            </para>
        </example>

        <example id="zend.layout.options.examples.accessors">
            <title>Usando Acessores</title>

            <para>
                Finalmente, você pode também configurar sua instância
                <classname>Zend_Layout</classname> via acessores. Todos os acessores
                implementam uma interface fluente, significando que suas chamadas
                podem ser encadeadas:
            </para>

            <programlisting language="php"><![CDATA[
$layout->setLayout('foo')
       ->setLayoutPath('/path/to/layouts')
       ->setContentKey('CONTENT');
]]></programlisting>
        </example>
    </sect2>
</sect1>
<!--
vim:se ts=4 sw=4 et:
-->