La clase Yaf_Config_Ini

(Yaf >=1.0.0)

Introducción

La clase Yaf_Config_Ini permite a los desarrolladores almacenar la información de configuración en un formato INI familiar y leerla en la aplicación utilizando una sintaxis apropiada de objetos anidados. El formato INI está especializado en proporcionar la capacidad de tener una jerarquía de claves de información de configuación y herencia entre secciones de información de configuración. Las jerarquías de información de configuración está soportadas separando las claves con el carácter punto ("."). Una sección puede extender o heredar de otra sección añadiendo al nombre de la sección el carácter dos puntos(":") y el nombre de la sección desde la que se hereda la información.

Nota:

Yaf_Config_Ini utiliza la función » parse_ini_file() de PHP. Revise esta documentación para conocer sus comportamientos específicos, los cuales propaga a la clase Yaf_Config_Ini, tales como el manejo de valores especiales como "true", "false", "yes", "no", y "null".

Sinopsis de la Clase

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
}

Propiedades

_config

_readonly

Ejemplos

Ejemplo #1 Ejemplo de Yaf_Config_Ini()

Este ejemplo ilustra el uso básico de la clase Yaf_Config_Ini para cargar la información de configuración desde un fichero INI. En este ejemplo existe información de configuración para el sistema de producción y el sistema de pruebas (staging). Ya que la información de configuración del sistema de pruebas es similar a la de producción, la sección de pruebas hereda de la sección de producción. En este caso, la decisión es arbitraria y podría haber sido escrito a la inversa, con la sección de producción heredando de la sección de pruebas, aunque este puede no ser el caso para situaciones más complejas. Suponga que la información de configuración siguiente está contenida en /ruta/a/config.ini:

; Información de configuración del sitio de producción [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 ; La información de configuración del sitio de pruebas hereda del de producción y ; sobrescribe los valores según sea necesario [staging : production] database.params.host = dev.example.com database.params.username = devuser database.params.password = devsecret
<?php
$config
= new Yaf_Config_Ini('/ruta/a/config.ini', 'staging');

var_dump($config->database->params->host);
var_dump($config->database->params->dbname);
var_dump($config->get("database.params.username"));
?>

El resultado del ejemplo sería algo similar a:

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

Tabla de contenidos

To Top