Configuration à l'exécution
Le comportement de ces fonctions est affecté par la configuration dans le fichier php.ini.
| Nom | Défaut | Modifiable | Historique |
|---|---|---|---|
| yaf.library | sa valeur PHP_INI_ALL | ||
| yaf.action_prefer | 0 | sa valeur PHP_INI_ALL | |
| yaf.lowcase_path | 0 | sa valeur PHP_INI_ALL | |
| yaf.use_spl_autoload | 0 | sa valeur PHP_INI_ALL | |
| yaf.forward_limit | 5 | sa valeur PHP_INI_ALL | |
| yaf.name_suffix | 1 | sa valeur PHP_INI_ALL | |
| yaf.name_separator | sa valeur PHP_INI_ALL | ||
| yaf.cache_config | 0 | sa valeur PHP_INI_SYSTEM | |
| yaf.environ | product | sa valeur PHP_INI_SYSTEM | |
| yaf.use_namespace | 0 | sa valeur PHP_INI_ALL |
Voici un éclaircissement sur l'utilisation des directives de configuration.
-
yaf.librarystring -
Le chemin vers la bibliothèque globale ; Yaf_loader cherchera dans ce dossier la bibliothèque globale.
-
yaf.action_preferinteger -
S'il n'y a qu'une seule partie dans PATH_INFO, doit être considéré comme un contrôleur ou une action.
Si cette option est activée, elle sera considérée comme un nom d'action.
-
yaf.lowcase_pathinteger -
Si l'on doit mettre en minuscule le chemin lors de l'autochargement de la classe.
-
yaf.use_spl_autoloadinteger -
Lorsque cette valeur est active, si Yaf_Loader ne trouve pas une classe, il retournera
FALSE, et donnera ensuite la chance aux autres fonctions au chargement automatique d'être appelées.Lorsque cette valeur est désactivée, si Yaf_Loader ne peut pas trouver une classe, il retournera
TRUE, et fera échouer l'autochargement de la classe immédiatement.Note:
Yaf enregistrera son chargeur lors de l'instanciation de Yaf_Application, aussi, tous les autres chargeurs automatiques qui sont enregistrés avant l'instanciation seront appelés avant Yaf_Loader::autoload().
Lorsque cette valeur est désactivé (Off par défaut), la méthode Yaf_Loader::autoload() retournera toujours
TRUE. -
yaf.forward_limitinteger -
Le nombre maximal de redirection ; par défaut, 5. Cela signifie que vous pouvez avoir un nombre maximal de 5 redirections dans la pile des redirections.
Ceci est une protection contre les Yaf_Controller_Abstract::forward() récursifs.
-
yaf.name_suffixinteger -
Lorsqu'activé, Yaf_Loader identifiera une classe par son suffixe pour décider si c'est bien une classe MVC.
Lorsque désactivé, Yaf_Loader regardera le préfixe du nom de la classe.
-
yaf.name_separatorstring -
Lorsque non vide, Yaf_Loader identifiera le suffixe de la classe à l'aide de ce séparateur.
Par exemple, lorsque cette option contient la valeur "_", Yaf_Loader prendra Index_Controller comme une classe contrôleur, et IndexController comme une classe normale.
-
yaf.cache_configinteger -
Si activé, et dans le même temps, vous utilisez un fichier de configuration au format ini comme paramètre de la méthode Yaf_Application(), le résultat de la compilation du fichier de configuration au format ini sera mis en cache dans le processus PHP.
Note:
Yaf examine le flag mtime du fichier ini, et s'il a été modifié depuis la dernière compilation, Yaf le rechargera.
AvertissementYaf utilise le chemin vers le fichier ini comme clé de l'entrée du cache, aussi, n'utilisez pas un chemin absolu pour votre chemin vers le fichier ini, sinon, il se pourrait qu'il y ait des conflit si deux applications utilisent le même chemin relatif pour le chemin vers le fichier de configuration ini.
-
yaf.environstring -
La valeur est "product" par défaut ; utilisé par Yaf pour récupérer la section de configuration d'un fichier de configuration au format ini.
Si la valeur est bien "product", Yaf utilisera la section nommée "product" dans le fichier de configuration au format ini (le premier paramètre de la classe Yaf_Application) comme configuration finale pour la classe Yaf_Application.
-
yaf.use_namespaceinteger -
Ne fonctionne que depuis PHP 5.3 ; si cette option est activée, toutes les classes de Yaf seront nommées via des espaces de noms.
Par exemple :
Il y a une exception à ce principe, comme par exemple la classe Yaf_Controller_Abstract. Le dernier composant est un mot clé PHP, ne pouvant pas être utilisé comme nom de classe ; aussi, pour de tel cas :Yaf_Route_Rewrite => \Yaf\Route\Rewrite Yaf_Request_Http => \Yaf\Request\Http
Yaf_Controller_Abstract => \Yaf\Controller_Abstract Yaf_Route_Static => \Yaf\Route_Static
