Le comportement de ces fonctions est affecté par la configuration dans le fichier php.ini.
| Nom | Défaut | Modifiable | Historique |
|---|---|---|---|
| yaf.library | "" | INI_ALL |
|
| yaf.environ | "product" | INI_SYSTEM |
|
| yaf.forward_limit | 5 | INI_ALL |
|
| yaf.use_namespace | 0 | INI_ALL |
|
| yaf.action_prefer | 0 | INI_ALL |
|
| yaf.lowcase_path | 0 | INI_ALL |
|
| yaf.use_spl_autoload | 0 | INI_ALL |
|
| yaf.name_suffix | 1 | INI_ALL |
|
| yaf.name_separator | "" | INI_ALL |
Voici un éclaircissement sur l'utilisation des directives de configuration.
Note:
La directive
yaf.cache_configexistait dans Yaf 2.x, où elle mettait en cache le résultat de l'analyse du fichier de configuration INI au sein du processus PHP. Elle a été supprimée dans Yaf 3.0.0 et n'est plus reconnue.
yaf.library
string
Le répertoire de bibliothèque global. Yaf_Loader recherche dans ce répertoire les classes qui ne peuvent pas être trouvées dans la bibliothèque locale de l'application (voir application.library).
Voir aussi Yaf_Loader::getLibraryPath() et Yaf_Loader::setLibraryPath().
yaf.environ
string
Le nom de l'environnement, "product" par défaut. Il
est utilisé par Yaf_Application pour choisir la
section du fichier de configuration INI (son premier argument de
constructeur) qui devient la configuration de l'application.
Par exemple, si cette valeur est "product", Yaf
utilisera la section nommée [product] du fichier de
configuration INI comme configuration finale de
Yaf_Application. Le nom de l'environnement peut
également être redéfini pour chaque application en passant le second
argument du constructeur à
Yaf_Application::__construct().
yaf.forward_limit
int
Le nombre maximal de fois que
Yaf_Controller_Abstract::forward() peut être
enchaîné au sein d'une même requête, 5 par défaut.
Il s'agit d'une protection contre les boucles récursives de Yaf_Controller_Abstract::forward() ; lorsque la limite est dépassée, une exception Yaf_Exception_DispatchFailed est lancée. Les valeurs non positives sont ramenées à la valeur par défaut.
yaf.use_namespace
int
Lorsque cette directive est activée, toutes les classes déclarées par Yaf sont nommées dans le style des namespaces :
Yaf_Route_Rewrite => \Yaf\Route\Rewrite Yaf_Request_Http => \Yaf\Request\Http
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 :
Yaf_Controller_Abstract => \Yaf\Controller_Abstract Yaf_Route_Static => \Yaf\Route_Static
Note:
Un seul des deux styles de nommage est enregistré au démarrage de l'extension, cette directive doit donc être définie avant le chargement de l'extension ; elle ne peut pas être modifiée requête par requête de manière utile.
yaf.action_prefer
int
Lorsqu'il n'y a qu'une seule partie dans le
PATH_INFO, détermine si elle doit être considérée
comme un nom de contrôleur ou comme un nom d'action.
Si cette configuration est activée, le segment unique est considéré comme un nom d'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.
yaf.lowcase_path
int
Indique s'il faut mettre en minuscules tous les composants du chemin lors du chargement automatique des classes.
yaf.use_spl_autoload
int
Lorsque cette valeur est activée, si Yaf_Loader
ne parvient pas à trouver une classe, il retournera false, laissant
ainsi la possibilité à d'autres fonctions de chargement automatique
d'être appelées.
Lorsque cette valeur est désactivée (le comportement par défaut), si
Yaf_Loader ne parvient pas à trouver une classe,
il retournera true, et le chargement automatique de la classe échoue
immédiatement : Yaf_Loader::autoload() retourne
toujours true dans ce mode.
Note:
Yaf enregistre son chargeur lors de l'instanciation d'un Yaf_Application, aussi tout autre chargeur automatique enregistré avant cette instanciation sera appelé avant Yaf_Loader::autoload().
yaf.name_suffix
int
Lorsque cette directive est activée (le comportement par défaut),
Yaf_Loader identifie une classe MVC par son
suffixe pour déterminer s'il s'agit d'une classe de contrôleur ou
d'action : IndexController,
IndexAction.
Lorsqu'elle est désactivée, Yaf_Loader examine à
la place le préfixe du nom de la classe :
Controller_Index, Action_Index.
yaf.name_separator
string
Lorsque cette directive n'est pas vide, Yaf_Loader identifie les classes MVC grâce à ce séparateur plutôt qu'avec le tiret bas qui sépare le nom et le suffixe MVC.
Par exemple, lorsque cette valeur est "_" et que
yaf.name_suffix est activée,
Yaf_Loader considérera
Index_Controller comme une classe de contrôleur,
tandis que IndexController sera considérée comme une
classe ordinaire. Lorsqu'elle est vide (le comportement par défaut), le
tiret bas est utilisé.