Configuration de l'application
PHP Manual
PHP Manual»Yaf»Configuration de l'application

Configuration de l'application

Il faut fournir un tableau de configuration ou le chemin d'un fichier de configuration ini (voir Yaf_Config_Ini) à Yaf_Application::__construct().

Yaf fusionne automatiquement les configurations de l'application et celles de l'utilisateur. Les configurations de l'application ont le préfixe "yaf." ou "application.". Si "yaf." et "application." existent tous les deux, "application." est retenu en priorité.

Exemple #1 Un exemple de 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 Un exemple de fichier ini

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

[product : yaf]
; la liste des configurations utilisateur ici
Astuce

Lorsque la configuration devient volumineuse, Yaf_Config_Ini, qui analyse le fichier ini à chaque requête, représente un surcoût notable. » Yaconf analyse tous les fichiers ini d'un répertoire une seule fois au démarrage de PHP et conserve les valeurs analysées en mémoire partagée. Il faut définir yaconf.directory vers le dossier contenant la configuration, et passer le tableau retourné à Yaf_Application::__construct() :

<?php
// dans php.ini : yaconf.directory = /path/to/app/conf
$app = new Yaf_Application(Yaconf::get("application"));
?>

Un fichier contenant des en-têtes [section] est exposé sous la forme d'une entrée par section (l'héritage, par exemple [product : yaf], étant déjà résolu). Il est possible de récupérer une seule section avec un point, Yaconf::get("application.product"), et de passer ce tableau à la place ; ses clés sont exactement les entrées fusionnées de cette section.

Configuration de l'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 répertoire de l'application, c'est-à-dire le dossier qui 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. Il faut toujours la définir manuellement.

application.ext string

L'extension de fichier des scripts PHP, utilisée lors du chargement automatique des classes (Yaf_Loader).

application.view.ext string

L'extension de fichier des scripts de gabarit de vue.

application.modules string

Une liste, séparée par des virgules, des modules enregistrés, utilisée lors du processus de routage, en particulier lorsqu'il y a plus de trois segments dans le PATH_INFO,

Yaf a besoin d'un moyen de déterminer si le premier segment est un nom de module ou non.

application.library string

Le répertoire de la bibliothèque locale, voir Yaf_Loader et yaf.library.

Note:

À partir de Yaf 2.1.6, cette entrée de configuration peut être un tableau. Le chemin de la bibliothèque essaiera d'utiliser les éléments définis dans application.library.directory

application.library.directory string

Alias de application.library. Introduit en Yaf 2.1.6

application.library.namespace string

Un préfixe, séparé par des virgules, du namespace de la bibliothèque locale.

Introduit en Yaf 2.1.6

application.bootstrap string

Un chemin absolu vers le script de la classe Bootstrap.

application.baseUri string

Utilisé pour retirer un préfixe fixe de l'URI de requête lors du processus de routage. Par exemple, si arrive une requête dont l'URI est "/prefix/controller/action", et que application.baseUri est définie à "/prefix", alors seul "/controller/action" sera pris comme PATH_INFO lors du processus de routage.

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

application.dispatcher.throwException bool

Si elle est définie à On, Yaf lancera une exception lorsqu'une erreur se produit. Voir aussi Yaf_Dispatcher::throwException().

application.dispatcher.catchException bool

Si elle est définie à On, Yaf redirigera vers le contrôleur/l'action Error lorsqu'il y a une exception non gérée. Voir aussi Yaf_Dispatcher::catchException().

application.dispatcher.defaultRoute string

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

application.dispatcher.defaultModule string

Le nom du module par défaut, voir aussi Yaf_Dispatcher::setDefaultModule().

application.dispatcher.defaultController string

Le nom du contrôleur par défaut, voir aussi Yaf_Dispatcher::setDefaultController().

application.dispatcher.defaultAction string

Le nom de l'action par défaut, voir aussi Yaf_Dispatcher::setDefaultAction().

application.system string

Définit la configuration d'exécution de Yaf dans application.ini, comme : application.system.lowcase_path

Note:

seules les configurations INI_ALL peuvent être définies de cette manière

To Top