Laravel 5 incluye por defecto PHP dotenv, una librería creada por Vance Lucas que gestiona las variables de entorno desde un único fichero .env
, a diferencia de múltiples ficheros como se utilizaba anteriormente.
Por defecto, Laravel 5 incluye el siguiente fichero de ejemplo:
APP_ENV=local
APP_DEBUG=true
APP_KEY=SomeRandomString
DB_HOST=localhost
DB_DATABASE=homestead
DB_USERNAME=homestead
DB_PASSWORD=secret
CACHE_DRIVER=file
SESSION_DRIVER=file
Simplemente tenemos que copiar el fichero a uno llamado .env
y después podremos acceder a estas variables desde cualquier parte utilizando una de las siguientes opciones:
$db_username = ;
$db_username = $_ENV['DB_USERNAME'];
$db_username = $_SERVER['DB_USERNAME'];
$db_username = ;
$db_username = App::;
Este fichero no deberíamos subirlo a repositorios puesto que cada entorno contendrá sus propias variables.
También podemos referenciar variables dentro del fichero .env
haciendo uso de la siguiente sintaxis:
BASE_DIR=/var/webroot/project-root
CACHE_DIR={$BASE_DIR}/cache
TMP_DIR={$BASE_DIR}/tmp
Estas y otras funcionalidades podemos consultarlas en la documentación de PHP dotenv en su repositorio en GitHub.