The online documentation is produced by a web publishing technology created by us to read the documents origins in OpenOffice Writer (ODT) and Microsoft Word (docx) formats and produces native web and PDF versions. In this way we maintain Louder project documentation update and in sync on each of its formats.
Este componente permite al desarrollador leer archivos de configuración en diferentes formatos en objetos php aptos para usar en procesos de las aplicaciones.
Adaptadores de Config
El componente hace uso de adaptadores que encapsulan los detalles de cada formato.
Tabla: Adaptadores del componente Config
Tipo Formato
Descripción
Ini
Utiliza archivos PHP para almacenar la configuración. Internamente se usa la función de php parse_ini_file.
Xml
Utiliza archivos de configuración en XML.
Array
Utiliza arrays multidimencionales nativos de PHP para almacenar la configuración. En términos de rendimiento es el mejor.
Yaml
Utiliza el formato YAML (Yet another markup language) para la definición de archivos de configuración. El rendimiento puede ser menor debido a que se utiliza PHP para parsear el archivo de configuración.
La flexibilidad de este componente permite que el desarrollador utilice el formato que le sea más familiar tanto para los archivos de configuración de su aplicación como los del framework.
El componente Config cachea el resultado de procesar un archivo, así, si es procesado en una misma petición más de una vez este es no es re-procesado mejorando el rendimiento.
En los siguientes ejemplos se muestra como el mismo archivo de configuración es representando en diferentes formatos:
Adaptador de configuración Ini
Config soporta archivos INI estos son ampliamente usados por todo tipo de software que además son el formato predeterminado del framework. El adaptador procesa las secciones del archivo y variables compuestas. Gracias a que se usan funciones nativas del lenguaje su procesado es más rápido.
El adaptador de configuración XML permite procesar archivos que usen el lenguaje de marcas XML. Los archivos XML son ampliamente reusables por otras tecnologías y lenguajes. El procesado de los archivos se hace usando funciones nativas del lenguaje PHP por lo que es muy rápida.
El adaptador de configuración PHP permite definir la configuración en arrays multidimensionales nativos del lenguaje con lo cual se obtiene la mayor velocidad al leerlos y procesarlos.
Los archivos de configuración Yaml son ampliamente usados por otros frameworks como Symfony ó Ruby On Rails. Son conocidos por su simplicidad y facilidad de entendimiento. Su procesamiento se realiza a nivel de PHP por lo que su procesamiento puede ser más lento.
Ejemplo: Archivo de configuración en YAML
# Archivo para adaptador Yaml
example:
variable: value
development:
database:
host: localhost
username: jasmin
password: secret
Leer archivos de configuración
Para los ejemplos de archivos de configuración el siguiente ejemplo sin importar el que se escogiese produciría el mismo objeto Config como resultado:
Ejemplo: Leer un archivo de configuración
//Leer la configuración
$config = Config::read('myconfig/config.ini', 'ini');
//Comprobar los valores leídos
assertEquals($config->example->variable, 'value');
assertEquals($config->development->database->host, 'localhost');
assertEquals($config->development->database->username, 'jasmin');
assertEquals($config->development->database->password, 'secret');