Configuration à l'exécution

Le comportement de ces fonctions est affecté par la configuration dans le fichier php.ini.

Options de configuration Yaf
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.library string

Le chemin vers la bibliothèque globale ; Yaf_loader cherchera dans ce dossier la bibliothèque globale.

yaf.action_prefer integer

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_path integer

Si l'on doit mettre en minuscule le chemin lors de l'autochargement de la classe.

yaf.use_spl_autoload integer

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_limit integer

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_suffix integer

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_separator string

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_config integer

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.

Avertissement

Yaf 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.environ string

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_namespace integer

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 :

Yaf_Route_Rewrite => \Yaf\Route\Rewrite
Yaf_Request_Http  => \Yaf\Request\Http
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_Controller_Abstract => \Yaf\Controller_Abstract
Yaf_Route_Static => \Yaf\Route_Static
        

LoadingChargement en cours