La importancia del fichero .env en Laravel y Symfony

Cuando Juanito, que nunca se preocupó por los ficheros .env, subió a producción ese último cambio no sabía lo que se le venía encima. La llamada que recibió una hora más tarde le dejó helado… estaban usando en producción la base de datos de pruebas.

Juanito, en lugar de usar los ficheros .env, modificaba directamente el fichero config/database.php antes de pasar a producción. A pesar de los continuos recordatorios al respecto de su buen amigo Gorka él siguió haciéndolo así hasta aquel fatídico día.

Esta historia inventada ha sucedido en no pocas ocasiones en el mundo real. Por favor, no seas como Juanito.

¿Para qué usar el fichero .env?

El fichero .env se usa cuando nuestro código tiene que funcionar en distintos entornos cada uno con sus propios parámetros de configuración. Por ejemplo cuando tenemos el entorno de desarrollo local, el de test y el de producción.

¿Cómo usar el fichero .env correctamente?

En Laravel, nunca deberíamos acceder directamente a los valores del fichero .env desde nuestro código. Siempre debemos hacerlo a través de la función config():

config('rutas.ruta_ficheros_subidos');

No deberías usar nunca la función env() para recuperar los valores del fichero .env. Esta función se reserva para ser usada en los ficheros de configuración.

Por ejemplo, este rutas.ruta_ficheros_subidos estaría definido en config/rutas.php algo así:

'ruta_ficheros_subidos' => env('RUTA_FICHEROS_SUBIDOS', '/usr/ficheros_subidos');

No olvides poner siempreun valor por defecto por si no eixste RUTA_FICHEROS_SUBIDOS en el fichero.env.

Valores por defecto de producción

Yo tengo la costumbre de poner en el fichero config los valores que deberían existir en producción. Con la excepción, claro está, de credenciales o datos sensibles que nunca (nunca, nunca, nunca) deberían ir en el código.

Deja un comentario