<?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>Yaf Options de configuration</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>&quot;&quot;</td>
      <td><strong><code><a href="info.constants.php#constant.ini-all">INI_ALL</a></code></strong></td>
      <td class="empty">&nbsp;</td>
     </tr>

     <tr>
      <td><a href="yaf.configuration.php#ini.yaf.environ" class="link">yaf.environ</a></td>
      <td>&quot;product&quot;</td>
      <td><strong><code><a href="info.constants.php#constant.ini-system">INI_SYSTEM</a></code></strong></td>
      <td class="empty">&nbsp;</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><a href="info.constants.php#constant.ini-all">INI_ALL</a></code></strong></td>
      <td class="empty">&nbsp;</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><a href="info.constants.php#constant.ini-all">INI_ALL</a></code></strong></td>
      <td class="empty">&nbsp;</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><a href="info.constants.php#constant.ini-all">INI_ALL</a></code></strong></td>
      <td class="empty">&nbsp;</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><a href="info.constants.php#constant.ini-all">INI_ALL</a></code></strong></td>
      <td class="empty">&nbsp;</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><a href="info.constants.php#constant.ini-all">INI_ALL</a></code></strong></td>
      <td class="empty">&nbsp;</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><a href="info.constants.php#constant.ini-all">INI_ALL</a></code></strong></td>
      <td class="empty">&nbsp;</td>
     </tr>

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

    </tbody>
   
  </table>

 </p>

 <p class="simpara">Voici un éclaircissement sur
l&#039;utilisation des directives de configuration.</p>

 <p class="para">
  <blockquote class="note"><p><strong class="note">Note</strong>: 
   <p class="simpara">
    La directive <code class="literal">yaf.cache_config</code> existait dans Yaf 2.x,
    où elle mettait en cache le résultat de l&#039;analyse du fichier de
    configuration INI au sein du processus PHP. Elle a été supprimée dans
    Yaf 3.0.0 et n&#039;est plus reconnue.
   </p>
  </p></blockquote>
 </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="simpara">
       Le répertoire de bibliothèque global. <span class="classname"><a href="class.yaf-loader.php" class="classname">Yaf_Loader</a></span>
       recherche dans ce répertoire les classes qui ne peuvent pas être
       trouvées dans la bibliothèque locale de l&#039;application (voir
       <a href="yaf.appconfig.php#configuration.yaf.library" class="link">application.library</a>).
      </p>
      <p class="simpara">
       Voir aussi <span class="methodname"><a href="yaf-loader.getlibrarypath.php" class="methodname">Yaf_Loader::getLibraryPath()</a></span> et
       <span class="methodname"><a href="yaf-loader.setlibrarypath.php" class="methodname">Yaf_Loader::setLibraryPath()</a></span>.
      </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="simpara">
       Le nom de l&#039;environnement, <code class="literal">&quot;product&quot;</code> par défaut. Il
       est utilisé par <span class="classname"><a href="class.yaf-application.php" class="classname">Yaf_Application</a></span> pour choisir la
       section du fichier de configuration INI (son premier argument de
       constructeur) qui devient la configuration de l&#039;application.
      </p>
      <p class="simpara">
       Par exemple, si cette valeur est <code class="literal">&quot;product&quot;</code>, Yaf
       utilisera la section nommée <code class="literal">[product]</code> du fichier de
       configuration INI comme configuration finale de
       <span class="classname"><a href="class.yaf-application.php" class="classname">Yaf_Application</a></span>. Le nom de l&#039;environnement peut
       également être redéfini pour chaque application en passant le second
       argument du constructeur à
       <span class="methodname"><a href="yaf-application.construct.php" class="methodname">Yaf_Application::__construct()</a></span>.
      </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="simpara">
       Le nombre maximal de fois que
       <span class="methodname"><a href="yaf-controller-abstract.forward.php" class="methodname">Yaf_Controller_Abstract::forward()</a></span> peut être
       enchaîné au sein d&#039;une même requête, <code class="literal">5</code> par défaut.
      </p>
      <p class="simpara">
       Il s&#039;agit d&#039;une protection contre les boucles récursives de
       <span class="methodname"><a href="yaf-controller-abstract.forward.php" class="methodname">Yaf_Controller_Abstract::forward()</a></span> ; lorsque la
       limite est dépassée, une exception
       <span class="classname"><a href="class.yaf-exception-dispatchfailed.php" class="classname">Yaf_Exception_DispatchFailed</a></span> est lancée. Les
       valeurs non positives sont ramenées à la valeur par défaut.
      </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="simpara">
       Lorsque cette directive est activée, toutes les classes déclarées par
       Yaf sont nommées dans le style des namespaces :
      </p>
      <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>
      <p class="simpara">
       Il existe une exception pour les classes dont le dernier composant est
       un mot-clé réservé de PHP et ne peut donc pas être utilisé comme nom de
       classe ; ces classes conservent le tiret bas dans leur dernier
       composant :
      </p>
      <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>
      <blockquote class="note"><p><strong class="note">Note</strong>: 
       <p class="simpara">
        Un seul des deux styles de nommage est enregistré au démarrage de
        l&#039;extension, cette directive doit donc être définie avant le
        chargement de l&#039;extension ; elle ne peut pas être modifiée requête par
        requête de manière utile.
       </p>
      </p></blockquote>
     </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="simpara">
       Lorsqu&#039;il n&#039;y a qu&#039;une seule partie dans le
       <code class="literal">PATH_INFO</code>, détermine si elle doit être considérée
       comme un nom de contrôleur ou comme un nom d&#039;action.
      </p>
      <p class="simpara">
       Si cette configuration est activée, le segment unique est considéré
       comme un nom d&#039;action, et le nom du contrôleur se rabat sur le
       contrôleur par défaut ; sinon, il est considéré comme un nom de
       contrôleur.
      </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="simpara">
       Indique s&#039;il faut mettre en minuscules tous les composants du chemin
       lors du chargement automatique des classes.
      </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="simpara">
       Lorsque cette valeur est activée, si <span class="classname"><a href="class.yaf-loader.php" class="classname">Yaf_Loader</a></span>
       ne parvient pas à trouver une classe, il retournera <strong><code><a href="reserved.constants.php#constant.false">false</a></code></strong>, laissant
       ainsi la possibilité à d&#039;autres fonctions de chargement automatique
       d&#039;être appelées.
      </p>
      <p class="simpara">
       Lorsque cette valeur est désactivée (le comportement par défaut), si
       <span class="classname"><a href="class.yaf-loader.php" class="classname">Yaf_Loader</a></span> ne parvient pas à trouver une classe,
       il retournera <strong><code><a href="reserved.constants.php#constant.true">true</a></code></strong>, et le chargement automatique de la classe échoue
       immédiatement : <span class="methodname"><a href="yaf-loader.autoload.php" class="methodname">Yaf_Loader::autoload()</a></span> retourne
       toujours <strong><code><a href="reserved.constants.php#constant.true">true</a></code></strong> dans ce mode.
      </p>
      <blockquote class="note"><p><strong class="note">Note</strong>: 
       <p class="simpara">
        Yaf enregistre son chargeur lors de l&#039;instanciation d&#039;un
        <span class="classname"><a href="class.yaf-application.php" class="classname">Yaf_Application</a></span>, aussi tout autre chargeur
        automatique enregistré avant cette instanciation sera appelé avant
        <span class="methodname"><a href="yaf-loader.autoload.php" class="methodname">Yaf_Loader::autoload()</a></span>.
       </p>
      </p></blockquote>
     </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="simpara">
       Lorsque cette directive est activée (le comportement par défaut),
       <span class="classname"><a href="class.yaf-loader.php" class="classname">Yaf_Loader</a></span> identifie une classe MVC par son
       suffixe pour déterminer s&#039;il s&#039;agit d&#039;une classe de contrôleur ou
       d&#039;action : <code class="literal">IndexController</code>,
       <code class="literal">IndexAction</code>.
      </p>
      <p class="simpara">
       Lorsqu&#039;elle est désactivée, <span class="classname"><a href="class.yaf-loader.php" class="classname">Yaf_Loader</a></span> examine à
       la place le préfixe du nom de la classe :
       <code class="literal">Controller_Index</code>, <code class="literal">Action_Index</code>.
      </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="simpara">
       Lorsque cette directive n&#039;est pas vide, <span class="classname"><a href="class.yaf-loader.php" class="classname">Yaf_Loader</a></span>
       identifie les classes MVC grâce à ce séparateur plutôt qu&#039;avec le tiret
       bas qui sépare le nom et le suffixe MVC.
      </p>
      <p class="simpara">
       Par exemple, lorsque cette valeur est <code class="literal">&quot;_&quot;</code> et que
       <a href="yaf.configuration.php#ini.yaf.name-suffix" class="link">yaf.name_suffix</a> est activée,
       <span class="classname"><a href="class.yaf-loader.php" class="classname">Yaf_Loader</a></span> considérera
       <code class="literal">Index_Controller</code> comme une classe de contrôleur,
       tandis que <code class="literal">IndexController</code> sera considérée comme une
       classe ordinaire. Lorsqu&#039;elle est vide (le comportement par défaut), le
       tiret bas est utilisé.
      </p>
     </dd>
    
  </dl>
 </p>
</div><?php manual_footer($setup); ?>