Table of Contents
En la actualidad, muchos frameworks como Laravel en PHP o React en Javascript utilizan las variables de entorno dentro de su arquitectura, pero ¿Qué son las variables de entorno y para qué sirven?
Si nos vamos a la definición estricta las variables de entorno son cadenas de texto almacenadas en un archivo con nombre .env que permiten almacenar secretos de nuestra aplicación, Como por ejemplo: los datos de conexión de una base de datos, algún token para poder consumir un servicio o la palabra secreta para firmar tokens.
Por lo que en esta ocasión te quiero mostrar como agregar variables de entorno a tu API en PHP utilizando el framework FlightPHP e ignorar el archivo de las variables de entorno en los commits de nuestros repositorios.
Instalando la librería phpdotenv con composer.
Para poder instalar la librería phpdotenv simplemente tenemos que seguir estos pasos:
En una terminal y estando posicionado en tu proyecto, deberemos ejecutar el comando:
composer require vlucas/phpdotenv
Una vez que se haya instalado la librería dentro de nuestro proyecto, podremos ver que en el archivo composer.json tendremos en la sección de require la llamada a la librería
Se deberá generar un archivo .env dentro de la raíz de nuestro proyecto, este archivo nos servirá para poder escribir las cadenas de texto de nuestras variables de entorno, también es una buena práctica agregar un archivo .env.dist que sirva como esquema de las variables de entorno para colaboradores de nuestro proyecto
La estructura del texto deberá ser
NOMBRE_DE_LA_VARIABLE=VALOR_DE_LA_VARIABLE
Nota: recuerda no exponer tus variables al público, esta captura la hago con fines didácticos.
Para poder utilizar las variables, podemos utilizar las variables globals de PHP $_ENV y $_SERVER, ejemplo:
y listo, ya tenemos nuestras variables de entorno funcionando correctamente dentro de nuestra aplicación.
Creación del repositorio en github
Ahora solo nos queda crear un repositorio en github, en este caso, mi repositorio es https://github.com/8devmx/api-flight, y añadir un archivo .gitignore que nos ayude a ignorar los archivos .env cada vez que realicemos un commit dentro de nuestro repositorio.
Agregar archivo al .gitignore
El archivo .gitignore deberá de estar colocado en la raíz de nuestro proyecto y una vez que lo hayas generado, simplemente tendrás que adicionar las extensiones de archivos o rutas de archivos que quieras ignorar cada vez que vayas a subir un commit
En este ejemplo, la línea uno es un comentario, el cual puedes agregar anteponiendo el símbolo # como prefijo del texto y en la línea 2, simplemente agregamos el texto .env que significa que github ignorará todos los archivos que tengan esta extensión y no los subirá al repositorio, previniendo que se expongan nuestras variables de entorno dentro del repositorio.
Resumen y Conclusiones
Las variables de entorno son importantes a la hora de estar trabajando con nuestras aplicaciones, para poder asegurar los secretos que existen en nuestra aplicación o cambiarnos de entornos libremente con la definición de las mismas, ejemplo, un entorno de desarrollo o un entorno de producción.
También es importante que tomes en consideración que una vez implementadas es necesario que tu como desarrollador y arquitecto, gestiones correctamente estos secretos, ya sea de forma manual o mediante algunas herramientas que existen en el mercado.
Si quieres saber un poco más acerca de implementar las variables de entorno dentro de tus proyectos, te invito a que visites mi canal de Youtube en el cual tengo videos y cursos explicando de manera detallada estos temas y más.
También te sugerimos que visites el curso Como CREAR una API en PHP con Flight Framework, en donde explicamos temas como: instalar composer, añadir dependencias, crear clases en código, conectar base de datos MySQL y agregar secretos o variables de entorno a nuestros proyectos.