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

classYaf_Config_IniextendsYaf_Config_AbstractimplementsIterator, ArrayAccess, Countable {
public__construct(string$config_file, string$section = ?)
publiccount(): void
publiccurrent(): void
public__get(string$name = ?): void
public__isset(string$name): void
publickey(): void
publicnext(): void
publicoffsetExists(string$name): void
publicoffsetGet(string$name): void
publicoffsetSet(string$name, string$value): void
publicoffsetUnset(string$name): void
publicreadonly(): void
publicrewind(): void
public__set(string$name, mixed$value): void
publictoArray(): array
publicvalid(): void
abstractpublicYaf_Config_Abstract::get(string$name, mixed$value): mixed
}

Propriétés

_config

_readonly

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"));
?>

Résultat de l'exemple ci-dessus est similaire à :

 string(15) "dev.example.com" string(6) "dbname" string(7) "devuser 

Sommaire

To Top