¿Qué es phpdotenv?
phpdotenv es una popular biblioteca de PHP para gestionar la configuración de aplicaciones a través de variables de entorno. Permite cargar configuraciones desde un archivo .env en el array $_ENV y las variables globales getenv(), lo que simplifica la separación de la configuración y el código. Está inspirada en la biblioteca Ruby dotenv y se utiliza ampliamente en frameworks PHP modernos (Laravel, Symfony).
¿Para qué sirve phpdotenv?
Al desarrollar aplicaciones, a menudo es necesario almacenar datos sensibles (contraseñas de BD, claves API) separados del código. phpdotenv resuelve este problema: creas un archivo .env que no se incluye en el repositorio (se añade a .gitignore), y la biblioteca lo carga en el entorno. Esto garantiza seguridad, flexibilidad (diferentes configuraciones para dev/staging/prod) y el cumplimiento del principio de la aplicación de 12 factores.
Instalación de phpdotenv
Instala la biblioteca a través de Composer:
composer require vlucas/phpdotenvAsegúrate de tener instalado Composer y PHP versión 7.1 o superior.
Funciones principales
- Carga del archivo .env — análisis de clave=valor con soporte para comentarios (#) y líneas vacías.
- Variables obligatorias — verificación de la presencia de claves necesarias usando
required(). - Tipado — conversión automática de cadenas a tipos (boolean, integer, null).
- Seguridad — escape de caracteres especiales, soporte para comillas.
- Inmutabilidad — protección contra la sobrescritura de variables de entorno existentes.
Ejemplo de código en PHP
require 'vendor/autoload.php';
use Dotenv\\Dotenv;
// Cargamos .env desde el directorio raíz$dotenv = Dotenv::createImmutable(__DIR__);$dotenv->load();
// Ahora las variables están disponibles a través de getenv()$dbHost = getenv('DB_HOST');$dbName = getenv('DB_NAME');
// O a través de $_ENVecho $_ENV['APP_ENV']; // 'local'
// Verificación de variables obligatorias$dotenv->required(['DB_HOST', 'DB_NAME']);
// Ejemplo de archivo .env:// DB_HOST=localhost// DB_NAME=test// APP_ENV=localCuándo usar phpdotenv
La biblioteca es ideal para:
- Aplicaciones web en PHP (Laravel, Symfony, Slim).
- Scripts CLI y microservicios.
- Proyectos donde se requiere un cambio rápido de configuración sin modificar el código.
- Desarrollo en equipo — cada desarrollador puede tener su propio
.env. - Tuberías CI/CD — las variables se definen a través del entorno del servidor, no mediante un archivo.
Importante: Nunca subas el archivo .env al repositorio. Crea un .env.example con una plantilla para tus compañeros.
También en la biblioteca
Redis (ioredis) para JavaScript (Node.js): guía completa con ejemplos
Swagger-PHP para PHP: guía completa con ejemplos prácticos
Caché en C++: Redis, memcached, LevelDB y otras herramientas