¿Has pensado alguna vez en cómo puedes desplegar tus aplicaciones web sin tener que establecer las configuraciones de la base de datos con las credenciales de tu servidor antes del despliegue, ni ir a tu servidor para editar las credenciales para que sigan su curso?
Si estás familiarizado con los frameworks de PHP como Laravel y Symphony, deberías conocer su archivo .env. Es donde se establecen todas las variables locales que van desde las credenciales de la base de datos a las credenciales del servicio de correo y todo lo que usted piensa que debe ser peculiar para el medio ambiente (local / desarrollo, puesta en escena y producción).
Estas dos funciones de PHP son el secreto detrás del archivo .env de Laravel. Como su nombre indica, una se utiliza para establecer las variables de entorno putenv() mientras que la otra se utiliza para obtener las variables getenv().
Puedes leer más sobre ellas a continuación:
http://php.net/manual/en/function.getenv.php
http://php.net/manual/en/function.putenv.php
¿Cómo las implemento en mi proyecto?
Implementarlas es muy sencillo, y como has adivinado, ¡sí! Implicará bucles.
CREAR UN ARCHIVO env.example.php
Sé que te estarás preguntando, ¿qué pasa con el .example? Este es el archivo que copiarás y pegarás como env.php. Recuerde que es un archivo que debe ser propio de su entorno, por lo que añadirá su env.php a .gitignore. Volveremos a eso más tarde.
Antes de eso, ponga el fragmento de abajo en su archivo.
CREAR UN ARCHIVO autoload.php
Dependiendo de cómo usted autoload archivos en su proyecto, composer/la vieja moda incluyen. Si utiliza compositor, cambie el nombre de este archivo a otra cosa, puede ser llamado cualquier cosa en realidad.
Sin embargo, por el bien de este escrito, nos quedaremos con autoload.php.
Coloque el fragmento de abajo en su archivo.
Note que en nuestro autoload.php estamos incluyendo env.php y no env.example.php?
Esto se debe a que, un env.php será recreado desde env.example.php por el entorno en el que se despliega tu aplicación, y debido a su peculiaridad, deberías añadirlo a tu .gitignore.
Una vez que hayas terminado de configurar esto, como dije antes, dependiendo de cómo autocargas los archivos dentro de tu directorio, autocarga tu archivo autoload.php. Para el proyecto no compositor, simplemente incluir este archivo en su proyecto en general a través de include "autoload.php";
Voilà! usted puede acceder a sus variables de entorno a través de env('VARIABLE_NAME')