Los gestores de configuración son la parte esencial del sistema de configuración
de Symfony. La tarea de los gestores de configuración es entender el significado
de los archivos de configuración. Cada gestor de configuración es simplemente
una clase que se emplea para transformar la configuración YAML en el código
PHP que realmente se ejecuta cuando es necesario. Cada archivo de configuración
dispone de su propio gestor de configuración que se configura en el
archivo config_handlers.yml
.
Los gestores de configuración no procesan los archivos YAML, ya que eso es tarea
de sfYaml
. En realidad, lo único que hacen los gestores de configuración es
crear una serie de instrucciones PHP en base a la información YAML y guardar
esas instrucciones en un archivo PHP que se incluye después durante la ejecución
de la aplicación. La versión compilada de cada archivo de configuración YAML
se encuentra en el directorio de la cache.
El gestor de configuración más utilizado es
sfDefineEnvironmentConfigHandler
,
que permite definir opciones de configuración diferentes en función del entorno
en el que se ejecute la aplicación. Este gestor se encarga por tanto de obtener
solamente las opciones de configuración que se aplican al entorno actual.
¿No te parece suficiente? Pues echa un vistazo al gestor de configuración
sfFactoryConfigHandler
.
Este gestor se encarga de compilar el archivo factories.yml
, que es uno de los
archivos de configuración más importantes de Symfony. Este gestor de configuración
es muy especial porque convierte un archivo de configuración YAML en el código
PHP que finalmente instanciará los objetos de tipo factoría (todos los componentes
importantes que se han presentado en las secciones anteriores). Este gestor de
configuración es mucho más avanzado que los otros gestores, ¿verdad?