Dutch PHP Conference 2027

Configuration à l'exécution

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

Yaf Options de configuration
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_config existait 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é.

add a note

User Contributed Notes

There are no user contributed notes for this page.
To Top