| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210 |
- <?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>
|