La classe Yaf_Config_Ini
(Yaf >=1.0.0)
Introduction
Yaf_Config_Ini permet aux développeurs de stocker des données de configuration au format INI et de les lire dans l'application en utilisant une syntaxe interne orientée objet. Le format INI est prévu pour fournir à la fois la possibilité d'avoir une configuration hiérarchique des clés des données, ainsi qu'un héritage entre les sections des données de configuration. La hiérarchie des données de configuration est supportée en séparant les clés avec un point ou une virgule. Une section peut étendre ou hériter d'une autre section en faisant suivre le nom de la section avec le caractère ":", suivi du nom de la section depuis laquelles les données sont héritées.
Note:
Yaf_Config_Ini utilise la fonction PHP parse_ini_file(). Reportez-vous à la documentation de cette fonction afin de mieux apprécier son comportement, ainsi propagé à Yaf_Config_Ini, comme la façon dont sont gérées les valeurs spéciales "
TRUE
", "FALSE
", "yes", "no", et "NULL
".
Synopsis de la classe
Exemples
Exemple #1 Exemple avec Yaf_Config_Ini()
Cet exemple illustre une utilisation basique de Yaf_Config_Ini permettant de charger les données de configuration depuis un fichier INI. Dans cet exemple, il y a des données de configuration pour à la fois un système de production et une système de test. En raison du fait que les données de configuration du système de test sont très similaires à celles de production, la section de test hérite de la section de production. Aussi, cette décision est arbitraire, et aurait pu être écrite dans l'autre sens, avec une section de production qui hérite de la section de test, mais ce n'aurait pas pu être le cas pour des cas plus complexes. On suppose ici que les données de configuration suivantes sont contenues dans le chemin /path/to/config.ini :
; Données de configuration pour le site de production [production] webhost = www.example.com database.adapter = pdo_mysql database.params.host = db.example.com database.params.username = dbuser database.params.password = secret database.params.dbname = dbname ; Données de configuration pour le site de test, héritées depuis celui de production ; et écrasant les valeurs nécessaires [staging : production] database.params.host = dev.example.com database.params.username = devuser database.params.password = devsecret
<?php
$config = new Yaf_Config_Ini('/path/to/config.ini', 'staging');
var_dump($config->database->params->host);
var_dump($config->database->params->dbname);
var_dump($config->get("database.params.username"));
?>
L'exemple ci-dessus va afficher quelque chose de similaire à :
string(15) "dev.example.com" string(6) "dbname" string(7) "devuser
Sommaire
- Yaf_Config_Ini::__construct — Constructeur Yaf_Config_Ini
- Yaf_Config_Ini::count — Compte tous les élements dans Yaf_Config.ini
- Yaf_Config_Ini::current — Récupérer la valeur actuelle
- Yaf_Config_Ini::__get — Récupérer un élément
- Yaf_Config_Ini::__isset — Déterminer si une clé existe
- Yaf_Config_Ini::key — Récupérer la clé de l'élément actuel
- Yaf_Config_Ini::next — Avancer le pointeur interne
- Yaf_Config_Ini::offsetExists — Le but de offsetExists
- Yaf_Config_Ini::offsetGet — Le but de offsetGet
- Yaf_Config_Ini::offsetSet — Le but de offsetSet
- Yaf_Config_Ini::offsetUnset — Le but de offsetUnset
- Yaf_Config_Ini::readonly — Le but de readonly
- Yaf_Config_Ini::rewind — Le but de rewind
- Yaf_Config_Ini::__set — Le but de __set
- Yaf_Config_Ini::toArray — Retourne la configuration dans un tableau PHP
- Yaf_Config_Ini::valid — Le but de valid
Document créé le 30/01/2003, dernière modification le 26/10/2018
Source du document imprimé : https://www.gaudry.be/php-rf-class.yaf-config-ini.html
L'infobrol est un site personnel dont le contenu n'engage que moi. Le texte est mis à disposition sous licence CreativeCommons(BY-NC-SA). Plus d'info sur les conditions d'utilisation et sur l'auteur.
Références
Ces références et liens indiquent des documents consultés lors de la rédaction de cette page, ou qui peuvent apporter un complément d'information, mais les auteurs de ces sources ne peuvent être tenus responsables du contenu de cette page.
L'auteur de ce site est seul responsable de la manière dont sont présentés ici les différents concepts, et des libertés qui sont prises avec les ouvrages de référence. N'oubliez pas que vous devez croiser les informations de sources multiples afin de diminuer les risques d'erreurs.