Zend_Config_WriterZend_Config_Writer vous donne la possibilité d'écrire des fichiers de configuration à partir d'objets Zend_Config. Il fonctionne avec des adaptateurs détachés du système et est donc très simple à utiliser. Par défaut Zend_Config_Writer embarque trois adaptateurs, qui fonctionnent tous sur la base de fichiers. Vous instanciez un rédacteur ("writer") avec des options spécifiques, qui peuvent être filename et config. Ensuite vous pouvez appeler la méthode write() du rédacteur et le fichier de configuration est créé. Vous pouvez aussi fournir $filename et $config directement à la méthode write(). Actuellement les rédacteurs suivants sont embarqués avec Zend_Config_Writer :
Lors de la modification ou la création d'objet Zend_Config, il y a quelques informations à garder en mémoire. Pour créer ou modifier une valeur, vous appelez simplement le réglage d'un paramètre d'un objet Zend_Config grâce à l'accesseur de paramètre ("->"). Pour créer une section à la racine ou pour créer une branche, vous avez juste à créer un nouveau tableau ($config->branch = array();). Pour définir quelle section en étend une autre, vous devez appeler la méthode setExtend() sur l'objet Zend_Config racine. Example #1 Utilisation de Zend_Config_Writer Cet exemple illustre une utilisation basique Zend_Config_Writer_Xml pour créer un nouveau fichier de configuration :
Ceci créera un fichier de configuration XML avec les sections "production" et "staging", où "staging" étend "production". Example #2 Modifier une configuration existante Cet exemple montre comment modifier un fichier de configuration existant :
Pour tous les rédacteurs à base de fichiers (INI, JSON, XML, YAML, et tableau PHP), en interne la méthode render() est utilisée pour construire la chaîne de configuration. Cette méthode peut être utilisée en dehors de la classe si vous souhaitez accéder à une représentation textuelle de vos données de configuration. Notes spécifiques au rédacteur INI
Notes spécifiques au rédacteur YAMLLe rédacteur YAML vous permet de spécifier un encodeur YAML alternatif. Dans la plupart des cas, celui embarqué dans le framework suffira amplement. Si vous le trouvez insuffisant, ou que vous souhaitez une YAML plus avancé, vous pouvez fournir un autre encodeur. La mthode pour le faire est Zend_Config_Writer_Yaml::setYamlEncoder(), vous devez lui fournir un callback valide.
Ci-dessus nous utilisons le composant de Symfony sfYaml pour encoder la configuration en YAML.
|