| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143 |
- <?xml version="1.0" encoding="utf-8"?>
- <!-- EN-Revision: 15617 -->
- <!-- Reviewed: no -->
- <sect1 id="zend.config.adapters.ini">
- <title>Zend_Config_Ini</title>
- <para>
- <classname>Zend_Config_Ini</classname> permet aux développeurs de stocker des données de
- configuration dans le format familier d'un fichier INI et de les lire dans l'application en
- employant une syntaxe de propriétés d'objet imbriquées. Le format INI est spécialisé pour
- fournir à la fois la capacité d'avoir une hiérarchie des données de configuration et
- permettre l'héritage entre les sections de données de configuration. La hiérarchie des
- données de configuration est supportée grâce au fractionnement des clés à l'aide de points
- (<code>.</code>). Une section peut être étendue ou héritée d'une autre section en suivant
- le nom de section avec le caractère de deux points (<code>:</code>) et le nom de la section
- de laquelle des données doivent être héritées.
- </para>
- <note>
- <title>Analyse d'un fichier INI</title>
- <para>
- <classname>Zend_Config_Ini</classname> utilise la fonction
- <ulink url="http://fr.php.net/parse_ini_file"><code>parse_ini_file()</code></ulink> de
- PHP. Veuillez prendre connaissance de la documentation pour appréhender ses
- comportements spécifiques, qui se propagent à <classname>Zend_Config_Ini</classname>,
- tel que la façon dont les valeurs spéciales : <code>true</code>,
- <code>false</code>, <code>yes</code>, <code>no</code> et <code>null</code> sont
- manipulées.
- </para>
- </note>
- <note>
- <title>Séparateur de clé</title>
- <para>
- Par défaut, le séparateur de clé est le caractère point (.), cependant cela peut
- être changé en changeant la clé de <code>$options</code> en construisant l'objet
- <classname>Zend_Config_Ini</classname>. Par exemple :
- <programlisting language="php"><![CDATA[
- $options['nestSeparator'] = ':';
- $options = new Zend_Config_Ini('/chemin/vers/config.ini',
- 'test',
- $options);
- ]]></programlisting>
- </para>
- </note>
- <example id="zend.config.adapters.ini.example.using">
- <title>Utiliser Zend_Config_Ini</title>
- <para>
- Cet exemple illustre une utilisation de base de <classname>Zend_Config_Ini</classname>
- pour le chargement des données de configuration à partir d'un fichier INI. Dans cet
- exemple il y a des données de configuration pour un environnement de production et pour
- un environnement de test. Puisque les données de configuration de l'environnement de
- test sont très semblables à celles de la production, la section de test hérite de la
- section de production. Dans ce cas, la décision est arbitraire et pourrait avoir été
- écrite réciproquement, avec la section de production héritant de la section de test,
- bien que ceci ne doit pas être le cas pour des situations plus complexes. Supposons,
- que les données suivantes de configuration sont contenues dans
- <filename>/chemin/vers/config.ini</filename> :
- </para>
- <programlisting language="ini"><![CDATA[
- ; Données de configuration du site de production
- [production]
- webhost = www.example.com
- database.adapter = pdo_mysql
- database.params.host = db.example.com
- database.params.username = dbuser
- database.params.password = secret
- database.params.dbname = dbname
- ; Données de configuration du site de test héritant du site
- ; de production et surchargeant les clés nécessaires
- [test : production]
- database.params.host = dev.example.com
- database.params.username = devuser
- database.params.password = devsecret
- ]]></programlisting>
- <para>
- Ensuite, supposons que le développeur ait besoin des données de configuration de
- test issues du fichier INI. Il est facile de charger ces données en indiquant le
- fichier INI et la section de test :
- </para>
- <programlisting language="php"><![CDATA[
- $config = new Zend_Config_Ini('/chemin/vers/config.ini', 'test');
- echo $config->database->params->host; // affiche "dev.example.com"
- echo $config->database->params->dbname; // affiche "dbname"
- ]]></programlisting>
- </example>
- <note>
- <table id="zend.config.adapters.ini.table">
- <title>Paramètres du constructeur de Zend_Config_Ini</title>
- <tgroup cols="2">
- <thead>
- <row>
- <entry>Paramètres</entry>
- <entry>Notes</entry>
- </row>
- </thead>
- <tbody>
- <row>
- <entry><code>$filename</code></entry>
- <entry>Le fichier INI à charger.</entry>
- </row>
- <row>
- <entry><code>$section</code></entry>
- <entry>
- La [section] dans le fichier ini qui doit être chargé.
- L'affectation de <code>null</code> à ce paramètre chargera toutes les
- sections. Alternativement, un tableau de noms de section peut être
- fourni pour charger des sections multiples.
- </entry>
- </row>
- <row>
- <entry><code>$options = false</code></entry>
- <entry>
- Tableau d'options. Les clés suivantes sont supportées :
- <itemizedlist>
- <listitem>
- <para><emphasis>allowModifications</emphasis> : Mettre à
- <code>true</code> pour permettre la modification du fichier
- chargé. Par défaut à <code>false</code>.
- </para>
- </listitem>
- <listitem>
- <para>
- <emphasis>nestSeparator</emphasis> : Caractère à utiliser
- en tant que séparateur d'imbrication. Par défaut ".".
- </para>
- </listitem>
- </itemizedlist></entry>
- </row>
- </tbody>
- </tgroup>
- </table>
- </note>
- </sect1>
|