> Faqs > Cómo saber si estoy en el entorno de desarrollo o de producción en Laravel

Cómo saber si estoy en el entorno de desarrollo o de producción en Laravel

Estoy desarrollando con el framework Laravel.

Quiero saber en un controlador si estoy en el entorno de desarrollo o de producción para ejecutar un código u otro.

¿Cómo puedo acceder a la variable de entorno correspondiente?

Respuestas

Para ello tienes que verificar valores de tu archivo de variables de entorno. Lo que vamos a comprobar es el valor que tienes en la variable APP_ENV de tu archivo .env.

En desarrollo lo normal es que tendrás

APP_ENV=local

En el entorno de producción tendrás:

APP_ENV=production

Tienes un par de formas de hacer esto en Laravel...

Puedes usar el Facade App

use Illuminate\Support\Facades\App;

class foo {

public function doSomething() {
    if (App::environment('local')) {
      return "Estás en el servidor de desarrollo";
    } else {
      return "Estás en el entorno de producción";
    }
}

Puedes acceder a las variables de entorno con el helper app()

class foo {

public function doSomething() {
    if (app()->enviroment('local')) {
      return "Estás en el servidor de desarrollo";
    } else {
      return "Estás en el entorno de producción";
    }
}

verificar varios enviroment

Si necesitas comprobar si estas en alguno de los entornos a la vez:

if (app()->environment(['local', 'otro'])) {
    // Estás en 'local' o 'otro'
}

Lo mismo lo puedes hacer con el facade también.

Julian
1147 49 87 46
Me funcionó perfectamente. Me incliné por usar el facade App. Gracias!