| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116 |
- <?xml version="1.0" encoding="utf-8"?>
- <!-- EN-Revision: 24249 -->
- <!-- Reviewed: no -->
- <sect1 id="zend.config.introduction">
- <title>Introduction</title>
- <para>
- <classname>Zend_Config</classname> est conçu pour simplifier l'accès et l'utilisation des
- données de configuration dans les applications. Il fournit une interface utilisateur basée
- sur des propriétés d'objets imbriquées. Les données de configuration peuvent venir de
- sources variées supportant une organisation hiérarchique des données. Actuellement
- <classname>Zend_Config</classname> fournit des adaptateurs pour les données de
- configuration qui sont stockées dans des fichier textes avec
- <link linkend="zend.config.adapters.ini"><classname>Zend_Config_Ini</classname></link> et
- <link linkend="zend.config.adapters.xml"><classname>Zend_Config_Xml</classname></link>.
- </para>
- <example id="zend.config.introduction.example.using">
- <title>Utilisation native de Zend_Config</title>
- <para>
- Normalement on s'attend à ce que les utilisateurs emploient une des classes
- d'adaptateur telles que
- <link linkend="zend.config.adapters.ini"><classname>Zend_Config_Ini</classname></link>
- ou
- <link linkend="zend.config.adapters.xml"><classname>Zend_Config_Xml</classname></link>,
- mais si les données de configuration sont disponibles dans un tableau
- <acronym>PHP</acronym>, on peut
- simplement passer les données au constructeur de <classname>Zend_Config</classname>
- afin d'utiliser une interface orientée objet simple :
- </para>
- <programlisting language="php"><![CDATA[
- // Fourni un tableau de configuration
- $configArray = array(
- 'webhost' => 'www.example.com',
- 'database' => array(
- 'adapter' => 'pdo_mysql',
- 'params' => array(
- 'host' => 'db.example.com',
- 'username' => 'dbuser',
- 'password' => 'secret',
- 'dbname' => 'mydatabase'
- )
- )
- );
- // Crée un objet à partir des données de configuration
- $config = new Zend_Config($configArray);
- // Affiche une donnée de configuration en particulier
- // (résultat : 'www.example.com')
- echo $config->webhost;
- // Utilise les données de configuration pour se connecter
- // à une base de données
- $db = Zend_Db::factory($config->database->adapter,
- $config->database->params->toArray());
- // Autre possibilité : fournir simplement l'objet Zend_Config.
- // Zend_Db factory sait comment l'interpréter.
- $db = Zend_Db::factory($config->database);
- ]]></programlisting>
- </example>
- <para>
- Comme illustré dans l'exemple ci-dessus, <classname>Zend_Config</classname> fournit une
- syntaxe de propriétés d'objets imbriquées pour accéder aux données de configuration passées
- à son constructeur.
- </para>
- <para>
- Avec l'accès de type orienté-objet aux données, <classname>Zend_Config</classname> a aussi
- la méthode <methodname>get()</methodname> qui retournera la valeur par défaut si l'élément
- n'existe pas. Par exemple :
- </para>
- <programlisting language="php"><![CDATA[
- $host = $config->database->get('host', 'localhost');
- ]]></programlisting>
- <example id="zend.config.introduction.example.file.php">
- <title>Utilisez Zend_Config avec un fichier de configuration en PHP</title>
- <para>
- Il est souvent souhaitable d'utiliser une fichier de configuration en pur
- <acronym>PHP</acronym>. Le code
- suivant illustre comment ceci peut être facilement réalisé :
- </para>
- <programlisting language="php"><![CDATA[
- // config.php
- return array(
- 'webhost' => 'www.example.com',
- 'database' => array(
- 'adapter' => 'pdo_mysql',
- 'params' => array(
- 'host' => 'db.example.com',
- 'username' => 'dbuser',
- 'password' => 'secret',
- 'dbname' => 'mydatabase'
- )
- )
- );
- ]]></programlisting>
- <programlisting language="php"><![CDATA[
- // Lecture de la configuration
- $config = new Zend_Config(require 'config.php');
- // Affiche une donnée de configuration ('www.example.com')
- echo $config->webhost;
- ]]></programlisting>
- </example>
- </sect1>
|