<?php
include_once $_SERVER['DOCUMENT_ROOT'] . '/include/shared-manual.inc';
$TOC = array();
$TOC_DEPRECATED = array();
$PARENTS = array();
include_once dirname(__FILE__) ."/toc/book.yaf.inc";
$setup = array (
  'home' => 
  array (
    0 => 'index.php',
    1 => 'PHP Manual',
  ),
  'head' => 
  array (
    0 => 'UTF-8',
    1 => 'fr',
  ),
  'this' => 
  array (
    0 => 'class.yaf-config-ini.php',
    1 => 'Yaf_Config_Ini',
    2 => 'La classe Yaf_Config_Ini',
  ),
  'up' => 
  array (
    0 => 'book.yaf.php',
    1 => 'Yaf',
  ),
  'prev' => 
  array (
    0 => 'yaf-config-abstract.toarray.php',
    1 => 'Yaf_Config_Abstract::toArray',
  ),
  'next' => 
  array (
    0 => 'yaf-config-ini.construct.php',
    1 => 'Yaf_Config_Ini::__construct',
  ),
  'alternatives' => 
  array (
  ),
  'source' => 
  array (
    'lang' => 'fr',
    'path' => 'reference/yaf/yaf-config-ini.xml',
  ),
  'history' => 
  array (
  ),
  'extra_header_links' => 
  array (
    'rel' => 'alternate',
    'href' => '/manual/en/feeds/class.yaf-config-ini.atom',
    'type' => 'application/atom+xml',
  ),
);
$setup["toc"] = $TOC;
$setup["toc_deprecated"] = $TOC_DEPRECATED;
$setup["parents"] = $PARENTS;
manual_setup($setup);

contributors($setup);

?>
<div id="class.yaf-config-ini" class="reference">
 
 <h1 class="title">La classe Yaf_Config_Ini</h1>
 
 
 <div class="partintro"><p class="verinfo">(Yaf &gt;=1.0.0)</p>
  
  
  <div class="section" id="yaf-config-ini.intro">
   <h2 class="title">Introduction</h2>
   <p class="para">
    Yaf_Config_Ini permet aux développeurs de stocker des données
    de configuration au format INI et de les lire dans l&#039;application
    en utilisant une syntaxe interne orientée objet. Le format INI
    est prévu pour fournir à la fois la possibilité d&#039;avoir une
    configuration hiérarchique des clés des données, ainsi qu&#039;un
    héritage entre les sections des données de configuration.
    La hiérarchie des données de configuration est supportée en séparant
    les clés avec un point ou une virgule. Une section peut étendre ou
    hériter d&#039;une autre section en faisant suivre le nom de la section
    avec le caractère &quot;:&quot;, suivi du nom de la section depuis laquelle
    les données sont héritées.
    <blockquote class="note"><p><strong class="note">Note</strong>: 
     <p class="para">
      Yaf_Config_Ini utilise la fonction PHP parse_ini_file(). Se reporter
      à la documentation de cette fonction afin de mieux apprécier son
      comportement, ainsi propagé à Yaf_Config_Ini, comme la façon dont
      sont gérées les valeurs spéciales &quot;<strong><code><a href="reserved.constants.php#constant.true">true</a></code></strong>&quot;, &quot;<strong><code><a href="reserved.constants.php#constant.false">false</a></code></strong>&quot;, &quot;yes&quot;, &quot;no&quot;, et &quot;<strong><code><a href="reserved.constants.php#constant.null">null</a></code></strong>&quot;.
     </p>
    </p></blockquote>  
   </p>
  </div>
  
  
  <div class="section" id="yaf-config-ini.synopsis">
   <h2 class="title">Synopsis de la classe</h2>
   
   
   <div class="classsynopsis">
    <span class="ooclass"><strong class="classname"></strong></span>
    
    
    <div class="classsynopsisinfo">
     <span class="ooclass">
      <span class="modifier">class</span> <strong class="classname">Yaf_Config_Ini</strong>
     </span>
     
     <span class="ooclass">
      <span class="modifier">extends</span>
       <a href="class.yaf-config-abstract.php" class="classname">Yaf_Config_Abstract</a>
     </span>
     
     <span class="oointerface"><span class="modifier">implements</span> 
       <a href="class.iterator.php" class="interfacename">Iterator</a></span><span class="oointerface">,  <a href="class.arrayaccess.php" class="interfacename">ArrayAccess</a></span><span class="oointerface">,  <a href="class.countable.php" class="interfacename">Countable</a></span> {</div>
    
    <div class="classsynopsisinfo classsynopsisinfo_comment">/* Propriétés */</div>
    
    
    <div class="classsynopsisinfo classsynopsisinfo_comment">/* Méthodes */</div>
    <div class="constructorsynopsis dc-description">
   <span class="modifier">public</span> <span class="methodname"><a href="yaf-config-ini.construct.php" class="methodname">__construct</a></span>(<span class="methodparam"><span class="type"><a href="language.types.string.php" class="type string">string</a></span> <code class="parameter">$config_file</code></span>, <span class="methodparam"><span class="type"><a href="language.types.string.php" class="type string">string</a></span> <code class="parameter">$section</code><span class="initializer"> = ?</span></span>)</div>

    <div class="methodsynopsis dc-description"><span class="modifier">public</span> <span class="methodname"><a href="yaf-config-ini.count.php" class="methodname">count</a></span>(): <span class="type"><a href="language.types.void.php" class="type void">void</a></span></div>
<div class="methodsynopsis dc-description"><span class="modifier">public</span> <span class="methodname"><a href="yaf-config-ini.current.php" class="methodname">current</a></span>(): <span class="type"><a href="language.types.void.php" class="type void">void</a></span></div>
<div class="methodsynopsis dc-description"><span class="modifier">public</span> <span class="methodname"><a href="yaf-config-ini.get.php" class="methodname">__get</a></span>(<span class="methodparam"><span class="type"><a href="language.types.string.php" class="type string">string</a></span> <code class="parameter">$name</code><span class="initializer"> = ?</span></span>): <span class="type"><a href="language.types.void.php" class="type void">void</a></span></div>
<div class="methodsynopsis dc-description"><span class="modifier">public</span> <span class="methodname"><a href="yaf-config-ini.isset.php" class="methodname">__isset</a></span>(<span class="methodparam"><span class="type"><a href="language.types.string.php" class="type string">string</a></span> <code class="parameter">$name</code></span>): <span class="type"><a href="language.types.void.php" class="type void">void</a></span></div>
<div class="methodsynopsis dc-description"><span class="modifier">public</span> <span class="methodname"><a href="yaf-config-ini.key.php" class="methodname">key</a></span>(): <span class="type"><a href="language.types.void.php" class="type void">void</a></span></div>
<div class="methodsynopsis dc-description"><span class="modifier">public</span> <span class="methodname"><a href="yaf-config-ini.next.php" class="methodname">next</a></span>(): <span class="type"><a href="language.types.void.php" class="type void">void</a></span></div>
<div class="methodsynopsis dc-description"><span class="modifier">public</span> <span class="methodname"><a href="yaf-config-ini.offsetexists.php" class="methodname">offsetExists</a></span>(<span class="methodparam"><span class="type"><a href="language.types.string.php" class="type string">string</a></span> <code class="parameter">$name</code></span>): <span class="type"><a href="language.types.void.php" class="type void">void</a></span></div>
<div class="methodsynopsis dc-description"><span class="modifier">public</span> <span class="methodname"><a href="yaf-config-ini.offsetget.php" class="methodname">offsetGet</a></span>(<span class="methodparam"><span class="type"><a href="language.types.string.php" class="type string">string</a></span> <code class="parameter">$name</code></span>): <span class="type"><a href="language.types.void.php" class="type void">void</a></span></div>
<div class="methodsynopsis dc-description"><span class="modifier">public</span> <span class="methodname"><a href="yaf-config-ini.offsetset.php" class="methodname">offsetSet</a></span>(<span class="methodparam"><span class="type"><a href="language.types.string.php" class="type string">string</a></span> <code class="parameter">$name</code></span>, <span class="methodparam"><span class="type"><a href="language.types.string.php" class="type string">string</a></span> <code class="parameter">$value</code></span>): <span class="type"><a href="language.types.void.php" class="type void">void</a></span></div>
<div class="methodsynopsis dc-description"><span class="modifier">public</span> <span class="methodname"><a href="yaf-config-ini.offsetunset.php" class="methodname">offsetUnset</a></span>(<span class="methodparam"><span class="type"><a href="language.types.string.php" class="type string">string</a></span> <code class="parameter">$name</code></span>): <span class="type"><a href="language.types.void.php" class="type void">void</a></span></div>
<div class="methodsynopsis dc-description"><span class="modifier">public</span> <span class="methodname"><a href="yaf-config-ini.readonly.php" class="methodname">readonly</a></span>(): <span class="type"><a href="language.types.void.php" class="type void">void</a></span></div>
<div class="methodsynopsis dc-description"><span class="modifier">public</span> <span class="methodname"><a href="yaf-config-ini.rewind.php" class="methodname">rewind</a></span>(): <span class="type"><a href="language.types.void.php" class="type void">void</a></span></div>
<div class="methodsynopsis dc-description"><span class="modifier">public</span> <span class="methodname"><a href="yaf-config-ini.set.php" class="methodname">__set</a></span>(<span class="methodparam"><span class="type"><a href="language.types.string.php" class="type string">string</a></span> <code class="parameter">$name</code></span>, <span class="methodparam"><span class="type"><a href="language.types.mixed.php" class="type mixed">mixed</a></span> <code class="parameter">$value</code></span>): <span class="type"><a href="language.types.void.php" class="type void">void</a></span></div>
<div class="methodsynopsis dc-description"><span class="modifier">public</span> <span class="methodname"><a href="yaf-config-ini.toarray.php" class="methodname">toArray</a></span>(): <span class="type"><a href="language.types.array.php" class="type array">array</a></span></div>
<div class="methodsynopsis dc-description"><span class="modifier">public</span> <span class="methodname"><a href="yaf-config-ini.valid.php" class="methodname">valid</a></span>(): <span class="type"><a href="language.types.void.php" class="type void">void</a></span></div>

    
    <div class="classsynopsisinfo classsynopsisinfo_comment">/* Méthodes héritées */</div>
    <div class="methodsynopsis dc-description"><span class="modifier">abstract</span> <span class="modifier">public</span> <span class="methodname"><a href="yaf-config-abstract.get.php" class="methodname">Yaf_Config_Abstract::get</a></span>(<span class="methodparam"><span class="type"><a href="language.types.string.php" class="type string">string</a></span> <code class="parameter">$name</code></span>, <span class="methodparam"><span class="type"><a href="language.types.mixed.php" class="type mixed">mixed</a></span> <code class="parameter">$value</code></span>): <span class="type"><a href="language.types.mixed.php" class="type mixed">mixed</a></span></div>
<div class="methodsynopsis dc-description"><span class="modifier">abstract</span> <span class="modifier">public</span> <span class="methodname"><a href="yaf-config-abstract.readonly.php" class="methodname">Yaf_Config_Abstract::readonly</a></span>(): <span class="type"><a href="language.types.boolean.php" class="type bool">bool</a></span></div>
<div class="methodsynopsis dc-description"><span class="modifier">abstract</span> <span class="modifier">public</span> <span class="methodname"><a href="yaf-config-abstract.set.php" class="methodname">Yaf_Config_Abstract::set</a></span>(): <span class="type"><a href="class.yaf-config-abstract.php" class="type Yaf_Config_Abstract">Yaf_Config_Abstract</a></span></div>
<div class="methodsynopsis dc-description"><span class="modifier">abstract</span> <span class="modifier">public</span> <span class="methodname"><a href="yaf-config-abstract.toarray.php" class="methodname">Yaf_Config_Abstract::toArray</a></span>(): <span class="type"><a href="language.types.array.php" class="type array">array</a></span></div>

    
   }</div>
   
   
  </div>
  
  
  
  <div class="section" id="yaf-config-ini.props">
   <h2 class="title">Propriétés</h2>
   <dl>
    
     <dt id="yaf-config-ini.props.config"><var class="varname">_config</var></dt>
     <dd>
      <p class="para"/>
     </dd>
    
    
     <dt id="yaf-config-ini.props.readonly"><var class="varname">_readonly</var></dt>
     <dd>
      <p class="para"/>
     </dd>
    
   </dl>
  </div>
  

 <div class="section">
  <h2 class="title">Exemples</h2>
  <div class="example" id="example-1">
   <p><strong>Exemple #1 Exemple avec <span class="function"><strong>Yaf_Config_Ini()</strong></span></strong></p>
   <div class="example-contents"><p>
    Cet exemple illustre une utilisation basique de Yaf_Config_Ini
    permettant de charger les données de configuration depuis un fichier
    INI. Dans cet exemple, il y a des données de configuration pour à la
    fois un système de production et un système de test. En raison
    du fait que les données de configuration du système de test sont
    très similaires à celles de production, la section de test hérite
    de la section de production. Aussi, cette décision est arbitraire,
    et aurait pu être écrite dans l&#039;autre sens, avec une section de production
    qui hérite de la section de test, mais ce n&#039;aurait pas pu être le cas
    pour des cas plus complexes. On suppose ici que les données
    de configuration suivantes sont contenues dans le chemin
    /path/to/config.ini :
   </p></div>
   <div class="example-contents">
<div class="inicode"><pre class="inicode">; Données de configuration pour le 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 pour le site de test, héritées depuis celui de production
; et écrasant les valeurs nécessaires
[staging : production]
database.params.host     = dev.example.com
database.params.username = devuser
database.params.password = devsecret</pre>
</div>
   </div>

   <div class="example-contents">
<div class="phpcode"><code><span style="color: #000000"><span style="color: #0000BB">&lt;?php<br />$config </span><span style="color: #007700">= new </span><span style="color: #0000BB">Yaf_Config_Ini</span><span style="color: #007700">(</span><span style="color: #DD0000">'/path/to/config.ini'</span><span style="color: #007700">, </span><span style="color: #DD0000">'staging'</span><span style="color: #007700">);<br /> <br /></span><span style="color: #0000BB">var_dump</span><span style="color: #007700">(</span><span style="color: #0000BB">$config</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">database</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">params</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">host</span><span style="color: #007700">); <br /></span><span style="color: #0000BB">var_dump</span><span style="color: #007700">(</span><span style="color: #0000BB">$config</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">database</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">params</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">dbname</span><span style="color: #007700">);<br /></span><span style="color: #0000BB">var_dump</span><span style="color: #007700">(</span><span style="color: #0000BB">$config</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">get</span><span style="color: #007700">(</span><span style="color: #DD0000">"database.params.username"</span><span style="color: #007700">));<br /></span><span style="color: #0000BB">?&gt;</span></span></code></div>
   </div>

   <div class="example-contents"><p>Résultat de l&#039;exemple ci-dessus est similaire à :</p></div>
   <div class="example-contents screen">
<div class="cdata"><pre>
string(15) &quot;dev.example.com&quot;
string(6) &quot;dbname&quot;
string(7) &quot;devuser
</pre></div>
   </div>
  </div>
  </div>

 </div>

 















































































































































<h2>Sommaire</h2><ul class="chunklist chunklist_reference"><li><a href="yaf-config-ini.construct.php">Yaf_Config_Ini::__construct</a> — Constructeur Yaf_Config_Ini</li><li><a href="yaf-config-ini.count.php">Yaf_Config_Ini::count</a> — Compte tous les &eacute;l&eacute;ments dans Yaf_Config.ini</li><li><a href="yaf-config-ini.current.php">Yaf_Config_Ini::current</a> — R&eacute;cup&eacute;rer la valeur actuelle</li><li><a href="yaf-config-ini.get.php">Yaf_Config_Ini::__get</a> — R&eacute;cup&eacute;rer un &eacute;l&eacute;ment</li><li><a href="yaf-config-ini.isset.php">Yaf_Config_Ini::__isset</a> — D&eacute;terminer si une cl&eacute; existe</li><li><a href="yaf-config-ini.key.php">Yaf_Config_Ini::key</a> — R&eacute;cup&eacute;rer la cl&eacute; de l'&eacute;l&eacute;ment actuel</li><li><a href="yaf-config-ini.next.php">Yaf_Config_Ini::next</a> — Avancer le pointeur interne</li><li><a href="yaf-config-ini.offsetexists.php">Yaf_Config_Ini::offsetExists</a> — Le but de offsetExists</li><li><a href="yaf-config-ini.offsetget.php">Yaf_Config_Ini::offsetGet</a> — Le but de offsetGet</li><li><a href="yaf-config-ini.offsetset.php">Yaf_Config_Ini::offsetSet</a> — Le but de offsetSet</li><li><a href="yaf-config-ini.offsetunset.php">Yaf_Config_Ini::offsetUnset</a> — Le but de offsetUnset</li><li><a href="yaf-config-ini.readonly.php">Yaf_Config_Ini::readonly</a> — Le but de readonly</li><li><a href="yaf-config-ini.rewind.php">Yaf_Config_Ini::rewind</a> — Le but de rewind</li><li><a href="yaf-config-ini.set.php">Yaf_Config_Ini::__set</a> — Le but de __set</li><li><a href="yaf-config-ini.toarray.php">Yaf_Config_Ini::toArray</a> — Retourne la configuration dans un tableau PHP</li><li><a href="yaf-config-ini.valid.php">Yaf_Config_Ini::valid</a> — Le but de valid</li></ul>
</div>
<?php manual_footer($setup); ?>