# Application Configuration

Vous devez fournir un tableau de configuration, ou un fichier au format ini de configuration (voir le chemin Yaf_Config_Ini) de la méthode Yaf_Application::__construct().

Yaf va fusionner automatiquement les configurations de l'application et celles de l'utilisateur. Les configurations d'application sont préfixées par "yaf." ou par "application.". Si à la fois "yaf." et "application." existent, "application." prendra l'avantage.

Exemple #1 Exemple avec un tableau PHP

`<?php
$configs = array(
"application" => array(
"directory" => dirname(__FILE__),
"dispatcher" => array(
"catchException" => 0,
),
"view" => array(
"ext" => "phtml",
),
),
);
$app = new Yaf_Application($configs);
?>`

Exemple #2 Exemple avec un fichier ini

    [yaf]
    yaf.directory = APPLICATION_PATH "/appliation"
    yaf.dispatcher.catchException = 0

    [product : yaf]
    ; la configuration utilisateur va ici

Configuration d'application Yaf
Nom | Défaut | Historique
--- | --- | ---
application.directory |  |
application.ext | "php" |
application.view.ext | "phtml" |
application.modules | "index" |
application.library | application.directory . "/library" |
application.library.directory | application.directory . "/library" |
application.library.namespace | "" |
application.bootstrap | application.directory . "/Bootstrap" . application.ext |
application.baseUri | "" |
application.dispatcher.defaultRoute |  |
application.dispatcher.throwException | 1 |
application.dispatcher.catchException | 0 |
application.dispatcher.defaultModule | "index" |
application.dispatcher.defaultController | "index" |
application.dispatcher.defaultAction | "index" |
application.system |  |

Voici un éclaircissement sur l'utilisation des directives de configuration.

`application.directory` string

  Le dossier de l'application ; il contient les dossiers "controllers", "views", "models" et "plugins".

  > Note:

  > Cette entrée de configuration est la seule qui n'a pas de valeur par défaut. Vous devez toujours la définir manuellement.

`application.ext` string

  L'extension de fichier du script PHP, utilisé dans la classe autoloading(Yaf_Loader).

`application.view.ext` string

  L'extension du fichier de script du template de visualisation.

`application.modules` string

  Une liste séparée par une virgule de modules enregistrés, utilisés dans le processus de routage, et spécialement lorsqu'il y a plus de trois segments dans le PATH_INFO

  Yaf doit avoir un moyen de savoir si le premier segment est un nom de module ou pas.

`application.library` string

  Le dossier local de la bibliothèque, voir Yaf_Loader et yaf.library.

  > Note:

  > Depuis Yaf 2.1.6, cette entrée de configuration peut être un tableau. Le chemin de la bibliothèque tente d'utiliser la valeur de application.library.directory

`application.library.directory` string

  Alias de application.library. Introduit en Yaf 2.1.6.

`application.library.namespace` string

  Préfixes séparés par une virgule d'espace de noms locaux de la bibliothèque.

  Introduit en Yaf 2.1.6

`application.bootstrap` string

  Un chemin absolu du script de la classe Bootstrap.

`application.baseUri` string

  Utilisé pour supprimer un préfixe fixé d'une URI de requête dans le processus de routage. Par exemple, une requête dont l'URI est "/prefix/controller/action". Si vous définissez application.baseUri à "/prefix", alors seul "/controller/action" sera pris comme PATH_INFO dans le processus de routage.

  En général, il n'est pas nécessaire de définir cette valeur.

`application.dispatcher.throwException` bool

  Si vaut On, Yaf lancera une exception lorsqu'une erreur surviendra. Voir aussi la méthode Yaf_Dispatcher::throwException().

`application.dispatcher.catchException` bool

  Si vaut On, Yaf transmettra les erreurs aux controlleurs/actions, lorsqu'il rencontrera une exception non attrapable. Voir aussi la méthode Yaf_Dispatcher::catchException().

`application.dispatcher.defaultRoute` string

  La route par défaut, si elle n'est pas spécifié, la route statique sera utilisée. Voir la méthode Yaf_Router::addRoute().

`application.dispatcher.defaultModule` string

  Le nom de module par défaut. Voir aussi la méthode Yaf_Dispatcher::setDefaultModule().

`application.dispatcher.defaultController` string

  Le nom par défaut du controlleur. Voir aussi la méthode Yaf_Dispatcher::setDefaultController().

`application.dispatcher.defaultAction` string

  Le nom par défaut de l'action. Voir aussi la méthode Yaf_Dispatcher::setDefaultAction().

`application.system` string

  Définit une configuration Yaf au moment de l'exécution dans application.ini, comme ceci : application.system.lowcase_path

  > Note:

  > seules les options de configuration `INI_ALL` peuvent être définies de cette façon.