Acceder a la configuración de Symfony con sfConfig
En ocasiones es posible que, al crear una tarea que debería ejecutarse desde línea de comandos en una aplicación que ha sido escrita con Symfony, necesitemos tomar algunos valores concretos del archivo de configuración. De esta forma, y haciéndolo a través de sfConfig, evitaremos hardcodear el código interno. Además de evitar todos los problemas que esto podría conllevar. Para poder hacerlo, necesitaremos especificar cuál es el nombre de la aplicación de la que queremos leer el archivo de configuración. En el caso de que no especifiquemos esta información, Symfony no será capaz de buscar los valores que necesita en ninguno de los archivos de configuración.
Los archivos de configuración tienen la misión de transformarse en el código en PHP. Esto se debe a que la mayoría de las opciones que ofrecen únicamente puede ser utilizadas por parte de los frameworks de este lenguaje de programación. Entre las tecnologías que son compatibles con esta forma de acceder a la configuración se encuentra, por ejemplo, el framework Symfony 5. Sin embargo, es posible que algunas veces necesitemos poder acceder a esos archivos a través del código de la aplicación. Con independencia de que esto vaya a tener lugar dentro de una acción, en una determinada plantilla o en una clase propia. A cualquiera de ellas se puede acceder a través de la opción definida previamente en el archivo correspondiente (generalmente settings.yml, app.yml o module.yml). Pero, si lo prefieres, también es posible hacerlo utilizando una clase especial: la clase sfConfig.
Configurando con sfConfig
La clase sfConfig es una clase que permite el acceso a las opciones de configuración de una aplicación desde cualquier punto del código. Una especie de registro de configuración que facilita disponer de un método que podrás utilizar en cualquier parte del código de una aplicación. De esta manera, con sfConfig, es posible hacer que el código sea más accesible; además de ser mucho más sencillo poner solución a cualquier tipo de problema que se pueda encontrar en el código.
Cuando, por ejemplo, queramos hacer que Symfony busque algún determinado valor dentro del archivo de configuración podemos recurrir al parámetro –application. Este parámetro será el encargado de llamar a la tarea que queremos ejecutar; así como de permitir que se muestre la información que hemos solicitado. Pero la principal ventaja de utilizar la tarea sfConfig es que, además, podremos hacer cualquier tarea sin romper el código de la aplicación. De esta forma, podremos realizar cualquier cambio de una manera totalmente segura.
php symfony namespace:tarea --application=frontend
Como vemos, en ocasiones realizar modificaciones en el código de una aplicación es mucho más fácil de lo que pueda parecer. Especialmente si tenemos en cuenta que evitamos que el código pueda acabar rompiéndose y provocar que la aplicación deje de funcionar. Por ello, es recomendable dedicar algo de tiempo a conocer algunas clases de los distintos lenguajes de programación y frameworks. Estar en un proceso de aprendizaje continuo es la mejor forma de mejorar nuestro código y no dejarlo decaer; con los problemas de seguridad que eso podría conllevar para el sitio web o la aplicación.