<?php
include_once $_SERVER['DOCUMENT_ROOT'] . '/include/shared-manual.inc';
$TOC = array();
$TOC_DEPRECATED = array();
$PARENTS = array();
include_once dirname(__FILE__) ."/toc/yaf.setup.inc";
$setup = array (
  'home' => 
  array (
    0 => 'index.php',
    1 => 'PHP Manual',
  ),
  'head' => 
  array (
    0 => 'UTF-8',
    1 => 'fr',
  ),
  'this' => 
  array (
    0 => 'yaf.configuration.php',
    1 => 'Configuration &agrave; l\'ex&eacute;cution',
    2 => 'Configuration &agrave; l\'ex&eacute;cution',
  ),
  'up' => 
  array (
    0 => 'yaf.setup.php',
    1 => 'Installation/Configuration',
  ),
  'prev' => 
  array (
    0 => 'yaf.installation.php',
    1 => 'Installation',
  ),
  'next' => 
  array (
    0 => 'yaf.constants.php',
    1 => 'Constantes pr&eacute;-d&eacute;finies',
  ),
  'alternatives' => 
  array (
  ),
  'source' => 
  array (
    'lang' => 'fr',
    'path' => 'reference/yaf/ini.xml',
  ),
  'history' => 
  array (
  ),
);
$setup["toc"] = $TOC;
$setup["toc_deprecated"] = $TOC_DEPRECATED;
$setup["parents"] = $PARENTS;
manual_setup($setup);

contributors($setup);

?>
<div id="yaf.configuration" class="section">
 <h2 class="title">Configuration à l&#039;exécution</h2>
 <p class="simpara">Le comportement de ces fonctions est
affecté par la configuration dans le fichier <var class="filename">php.ini</var>.</p>
 <p class="para">
  <table class="doctable table">
   <caption><strong>Options de configuration Yaf</strong></caption>
   
    <thead>
     <tr>
      <th>Nom</th>
      <th>Défaut</th>
      <th>Modifiable</th>
      <th>Historique</th>
     </tr>

    </thead>

    <tbody class="tbody">
     <tr>
      <td><a href="yaf.configuration.php#ini.yaf.library" class="link">yaf.library</a></td>
      <td class="empty">&nbsp;</td>
      <td><strong><code>INI_ALL</code></strong></td>
      <td></td>
     </tr>

     <tr>
      <td><a href="yaf.configuration.php#ini.yaf.action-prefer" class="link">yaf.action_prefer</a></td>
      <td>0</td>
      <td><strong><code>INI_ALL</code></strong></td>
      <td></td>
     </tr>

     <tr>
      <td><a href="yaf.configuration.php#ini.yaf.lowcase-path" class="link">yaf.lowcase_path</a></td>
      <td>0</td>
      <td><strong><code>INI_ALL</code></strong></td>
      <td></td>
     </tr>

     <tr>
      <td><a href="yaf.configuration.php#ini.yaf.use-spl-autoload" class="link">yaf.use_spl_autoload</a></td>
      <td>0</td>
      <td><strong><code>INI_ALL</code></strong></td>
      <td></td>
     </tr>

     <tr>
      <td><a href="yaf.configuration.php#ini.yaf.forward-limit" class="link">yaf.forward_limit</a></td>
      <td>5</td>
      <td><strong><code>INI_ALL</code></strong></td>
      <td></td>
     </tr>

     <tr>
      <td><a href="yaf.configuration.php#ini.yaf.name-suffix" class="link">yaf.name_suffix</a></td>
      <td>1</td>
      <td><strong><code>INI_ALL</code></strong></td>
      <td></td>
     </tr>

     <tr>
      <td><a href="yaf.configuration.php#ini.yaf.name-separator" class="link">yaf.name_separator</a></td>
      <td class="empty">&nbsp;</td>
      <td><strong><code>INI_ALL</code></strong></td>
      <td></td>
     </tr>

     <tr>
      <td><a href="yaf.configuration.php#ini.yaf.cache-config" class="link">yaf.cache_config</a></td>
      <td>0</td>
      <td><strong><code>INI_SYSTEM</code></strong></td>
      <td></td>
     </tr>

     <tr>
      <td><a href="yaf.configuration.php#ini.yaf.environ" class="link">yaf.environ</a></td>
      <td>product</td>
      <td><strong><code>INI_SYSTEM</code></strong></td>
      <td></td>
     </tr>

     <tr>
      <td><a href="yaf.configuration.php#ini.yaf.use-namespace" class="link">yaf.use_namespace</a></td>
      <td>0</td>
      <td><strong><code>INI_SYSTEM</code></strong></td>
      <td></td>
     </tr>

    </tbody>
   
  </table>

 </p>
 
 <p class="para">Voici un éclaircissement sur
l&#039;utilisation des directives de configuration.</p>
 
 <p class="para">
  <dl>
   
    <dt id="ini.yaf.library">
     <code class="parameter">yaf.library</code>
     <span class="type"><a href="language.types.string.php" class="type string">string</a></span>
    </dt>
    <dd>
     <p class="para">
      Le chemin vers la bibliothèque globale ; Yaf_loader
      cherchera dans ce dossier la bibliothèque globale.
     </p>
    </dd>
   
   
    <dt id="ini.yaf.action-prefer">
     <code class="parameter">yaf.action_prefer</code>
     <span class="type"><a href="language.types.integer.php" class="type int">int</a></span>
    </dt>
    <dd>
     <p class="para">
      S&#039;il n&#039;y a qu&#039;une seule partie dans PATH_INFO,
      doit être considéré comme un contrôleur ou une action.
     </p>
     <p class="para">
      Si cette option est activée, elle sera considérée
      comme un nom d&#039;action.
     </p>
    </dd>
   
   
    <dt id="ini.yaf.lowcase-path">
     <code class="parameter">yaf.lowcase_path</code>
     <span class="type"><a href="language.types.integer.php" class="type int">int</a></span>
    </dt>
    <dd>
     <p class="para">
      Si l&#039;on doit mettre en minuscule le chemin lors de l&#039;autochargement
      de la classe.
     </p>
    </dd>
   
   
    <dt id="ini.yaf.use-spl-autoload">
     <code class="parameter">yaf.use_spl_autoload</code>
     <span class="type"><a href="language.types.integer.php" class="type int">int</a></span>
    </dt>
    <dd>
     <p class="para">
      Lorsque cette valeur est active, si <span class="classname"><a href="class.yaf-loader.php" class="classname">Yaf_Loader</a></span>
      ne trouve pas une classe, il retournera <strong><code><a href="reserved.constants.php#constant.false">false</a></code></strong>, et donnera ensuite
      la chance aux autres fonctions au chargement automatique d&#039;être appelées.
     </p>
     <p class="para">
      Lorsque cette valeur est désactivée, si <span class="classname"><a href="class.yaf-loader.php" class="classname">Yaf_Loader</a></span>
      ne peut pas trouver une classe, il retournera <strong><code><a href="reserved.constants.php#constant.true">true</a></code></strong>, et fera échouer
      l&#039;autochargement de la classe immédiatement.
     </p>
     <blockquote class="note"><p><strong class="note">Note</strong>: 
      <p class="para">
       Yaf enregistrera son chargeur lors de l&#039;instanciation de
       <span class="classname"><a href="class.yaf-application.php" class="classname">Yaf_Application</a></span>, aussi, tous les autres
       chargeurs automatiques qui sont enregistrés avant l&#039;instanciation
       seront appelés avant <span class="methodname"><a href="yaf-loader.autoload.php" class="methodname">Yaf_Loader::autoload()</a></span>.
      </p>
     </p></blockquote>
     <p class="para">
      Lorsque cette valeur est désactivée (Off par défaut),
      la méthode <span class="methodname"><a href="yaf-loader.autoload.php" class="methodname">Yaf_Loader::autoload()</a></span>
      retournera toujours <strong><code><a href="reserved.constants.php#constant.true">true</a></code></strong>.
     </p>
    </dd>
   
   
    <dt id="ini.yaf.forward-limit">
     <code class="parameter">yaf.forward_limit</code>
     <span class="type"><a href="language.types.integer.php" class="type int">int</a></span>
    </dt>
    <dd>
     <p class="para">
      Le nombre maximal de redirection ; par défaut, 5.
      Cela signifie qu&#039;il est possible d&#039;avoir un nombre maximal de 5 redirections
      dans la pile des redirections.
     </p>
     <p class="para">
      Ceci est une protection contre les
      <span class="methodname"><a href="yaf-controller-abstract.forward.php" class="methodname">Yaf_Controller_Abstract::forward()</a></span> récursifs.
     </p>
    </dd>
   
   
    <dt id="ini.yaf.name-suffix">
     <code class="parameter">yaf.name_suffix</code>
     <span class="type"><a href="language.types.integer.php" class="type int">int</a></span>
    </dt>
    <dd>
     <p class="para">
      Lorsqu&#039;activé, Yaf_Loader identifiera une classe par son suffixe pour
      décider si c&#039;est bien une classe MVC.
     </p>
     <p class="para">
      Lorsque désactivé, Yaf_Loader regardera le préfixe du nom de la classe.
     </p>
    </dd>
   
   
    <dt id="ini.yaf.name-separator">
     <code class="parameter">yaf.name_separator</code>
     <span class="type"><a href="language.types.string.php" class="type string">string</a></span>
    </dt>
    <dd>
     <p class="para">
      Lorsque non vide, Yaf_Loader identifiera le suffixe de la classe
      à l&#039;aide de ce séparateur.
     </p>
     <p class="para">
      Par exemple, lorsque cette option contient la valeur &quot;_&quot;, Yaf_Loader
      prendra Index_Controller comme une classe contrôleur, et
      IndexController comme une classe normale.
     </p>
    </dd>
   
   
    <dt id="ini.yaf.cache-config">
     <code class="parameter">yaf.cache_config</code>
     <span class="type"><a href="language.types.integer.php" class="type int">int</a></span>
    </dt>
    <dd>
     <p class="para">
      Si activé, et dans le même temps, on utilise un fichier de configuration
      au format ini comme paramètre de la méthode <span class="methodname"><strong>Yaf_Application()</strong></span>,
      le résultat de la compilation du fichier de configuration au format ini
      sera mis en cache dans le processus PHP.
      <blockquote class="note"><p><strong class="note">Note</strong>: 
       <p class="para">
        Yaf examine le flag mtime du fichier ini, et s&#039;il a été modifié depuis
        la dernière compilation, Yaf le rechargera.
       </p>
      </p></blockquote>
      <div class="warning"><strong class="warning">Avertissement</strong>
       <p class="para">
        Yaf utilise le chemin vers le fichier ini comme clé de l&#039;entrée du cache,
        aussi, n&#039;utiliser pas un chemin absolu pour le chemin vers le fichier ini,
        sinon, il se pourrait qu&#039;il y ait des conflits si deux applications
        utilisent le même chemin relatif pour le chemin vers le fichier de configuration ini.
       </p>
      </div>
     </p>
    </dd>
   
   
    <dt id="ini.yaf.environ">
     <code class="parameter">yaf.environ</code>
     <span class="type"><a href="language.types.string.php" class="type string">string</a></span>
    </dt>
    <dd>
     <p class="para">
      La valeur est &quot;product&quot; par défaut ; utilisé par Yaf pour récupérer
      la section de configuration d&#039;un fichier de configuration au format ini.
     </p>
     <p class="para">
      Si la valeur est bien &quot;product&quot;, Yaf utilisera la section nommée &quot;product&quot;
      dans le fichier de configuration au format ini (le premier paramètre de la
      classe <span class="classname"><a href="class.yaf-application.php" class="classname">Yaf_Application</a></span>) comme configuration finale
      pour la classe <span class="classname"><a href="class.yaf-application.php" class="classname">Yaf_Application</a></span>.
     </p>
    </dd>
   
   
   
    <dt id="ini.yaf.use-namespace">
     <code class="parameter">yaf.use_namespace</code>
     <span class="type"><a href="language.types.integer.php" class="type int">int</a></span>
    </dt>
    <dd>
     <p class="para">
      Si cette option est activée, toutes
      les classes de Yaf seront nommées via des espaces de noms.
     </p>
     <p class="para">
      Par exemple :
      <div class="example-contents screen">
<div class="cdata"><pre>
Yaf_Route_Rewrite =&gt; \Yaf\Route\Rewrite
Yaf_Request_Http  =&gt; \Yaf\Request\Http
</pre></div>
      </div>
      Il y a une exception à ce principe, par exemple la classe
      <span class="classname"><a href="class.yaf-controller-abstract.php" class="classname">Yaf_Controller_Abstract</a></span>.
      Le dernier composant est un mot clé PHP, ne pouvant pas être utilisé
      comme nom de classe ; aussi, pour de tel cas :
      <div class="example-contents screen">
<div class="cdata"><pre>
Yaf_Controller_Abstract =&gt; \Yaf\Controller_Abstract
Yaf_Route_Static =&gt; \Yaf\Route_Static
        </pre></div>
      </div>
     </p>
    </dd>
   
   
  </dl>
 </p>
</div><?php manual_footer($setup); ?>