somedefaultvalue puede ser cualquier valor predeterminado en caso env no existe.
– Chetán Ameta
14 de diciembre de 2015 a las 9:34
Usando env() puede generar problemas inesperados, consulte la respuesta de Grant sobre esta pregunta: stackoverflow.com/questions/34263107/….
–Steve
30 de enero de 2019 a las 12:16
No funciona para Laravel 5.5. Baje para encontrar una respuesta por Masum Ahmed Sarkar
– Hari Harker
9 de julio de 2019 a las 8:13
Agregue una forma reducida de esto en el archivo config/app.php en Laravel 8^ y funcionará. 'hostname' = env('IMAP_HOSTNAME_TEST');
– Esteban
8 de diciembre de 2020 a las 12:31
Masum Ahmed Sarkar
No funciona en Laravel 5.3+ si desea intentar acceder al valor desde el controlador como se muestra a continuación. siempre devuelve nulo
<?php
$value = env('MY_VALUE', 'default_value');
SOLUCIÓN: Más bien, debe crear un archivo en la carpeta de configuración, decir valores.php y luego escribir el código como se muestra a continuación
Expediente valores.php
Then access the value in your controller with the following code
<?php
$value = \Config::get('values.myvalue')
Where "values" is the filename followed by the key "myvalue".
Not sure why this was downvoted... It's the correct answer (mostly) for L5.3+. But using your example filename of values.php, you'd actually reference it in the controller as $value = config('values.myvalue');
– Drew Hammond
Mar 11, 2018 at 21:00
Don't forget to php artisan config:cache to commit config changes.
– Grant
Apr 29, 2018 at 13:27
Grant
To simplify: Only configuration files can access environment variables - and then pass them on.
Step 1.) Add your variable to your .env file, for example,
EXAMPLE_URL="http://google.com"
Step 2.) Create a new file inside of the config folder, with any name, for example,
config/example.php
Step 3.) Inside of this new file, I add an array being returned, containing that environment variable.
<?php
return [
'url' => env('EXAMPLE_URL')
];
Paso 4.) Debido a que lo nombré "ejemplo", mi configuración 'espacio de nombres' ahora es un ejemplo. Entonces ahora, en mi controlador puedo acceder a esta variable con:
$url = \config('example.url');
Consejo - si agregas use Config; en la parte superior de su controlador, no necesita la barra invertida (que designa el espacio de nombres raíz). Por ejemplo,
namespace App\Http\Controllers;
use Config; // Added this line
class ExampleController extends Controller
{
public function url() {
return config('example.url');
}
}
Finalmente, confirme los cambios:
php artisan config:cache
--- IMPORTANTE --- Recuerda ingresar php artisan config:cache en la consola una vez que haya creado su archivo ejemplo.php. Los archivos de configuración y las variables se almacenan en caché, por lo que si realiza cambios, debe vaciar ese caché; lo mismo se aplica a la .env archivo que se está cambiando/añadiendo.
Configuración artesanal de php: bloqueo de caché de mi aplicación
–Felipe Castillo
31 mayo 2019 a las 15:32
@FelipeCastillo significa que su aplicación tiene un problema en su configuración, porque ese comando solo vacía el caché
- Otorgar
4 de junio de 2019 a las 10:31
config() es la función auxiliar y NO necesita el use Config;. Con la declaración de uso puede usar el alias Config por Illuminate\Support\Facades\Config::class como por ejemplo: Config::get('example.url')
– Ametad
22 de septiembre de 2020 a las 12:40
@petermortensen @Grant, esta es una gran respuesta. Mi pregunta es por qué funciona esto en lugar de simplemente usar laravels env() metodo auxiliar?
– CodeConnoisseur
2 de diciembre de 2020 a las 16:49
@PA-GW El ayudante env() accede solo a las variables de entorno (a menudo sensibles a la seguridad) almacenadas en el archivo .env. Notará en mi línea de apertura, mencioné que parece que (al menos a partir de la fecha de respuesta a esta pregunta) los archivos de configuración son los únicos archivos que pueden acceder a esos súper globales sensibles.
Puede usar con este formato (probado en Laravel 5.5). En mi caso, lo usé para obtener los datos de las conexiones de la base de datos y usarlo en el controlador:
¿Dónde pusiste este código, config/app.php o el controlador/vista? Esto funcionó para mí en Laravel 5.2 pero no parece estar encendido Laravel 5.3+. Ya que estás especificando Laravel 5.5¿Debo estar haciendo algo mal?
-Wouter Vanherck
14 de diciembre de 2018 a las 10:45
he colocado este código en app/Http/ExampleController.php
– Zarkys Salas
30 de mayo de 2019 a las 5:33
Pedro Mortensen
Es una mejor idea poner sus variables de configuración en un archivo de configuración.
En su caso, sugeriría poner sus variables en config/correo.php me gusta:
Primero intenta obtener el valor de la variable de configuración en el .env archivo y si no pudo encontrar el valor de la variable en el .env archivo, obtendrá el valor de la variable del archivo config/correo.php.
¿Dónde pusiste este código, config/app.php o el controlador/vista? Esto funcionó para mí en Laravel 5.2 pero no parece estar encendido Laravel 5.3+. Ya que estás especificando Laravel 5.5¿Debo estar haciendo algo mal?
-Wouter Vanherck
14 de diciembre de 2018 a las 10:45
he colocado este código en app/Http/ExampleController.php
– Zarkys Salas
30 de mayo de 2019 a las 5:33
MacTavish
Como señaló @Rajib, no puede acceder a sus variables env usando config('myVariable')
Primero debe agregar la variable al archivo .env.
Agregue la variable a algún archivo de configuración en config directorio. yo suelo añadir a config/app.php
Una vez hecho esto, accederá a ellos como Config::get('fileWhichContainsVariable.Variable'); utilizando el Config Fachada
Probablemente tendrá que borrar el caché de configuración usando php artisan config:clear
Y también tendrá que reiniciar el servidor.
¿Ha sido útil esta solución?
Tu feedback nos ayuda a saber si la solución es correcta y está funcionando. De esta manera podemos revisar y corregir el contenido.
Esta web utiliza cookies propias y de terceros para su correcto funcionamiento y para fines analíticos y para mostrarte publicidad relacionada con sus preferencias en base a un perfil elaborado a partir de tus hábitos de navegación. Al hacer clic en el botón Aceptar, acepta el uso de estas tecnologías y el procesamiento de tus datos para estos propósitos.
Configurar y más información
Posible duplicado de Laravel 4: ¿cómo puedo obtener el valor del entorno?
– Narendrasingh Sisodia
14 de diciembre de 2015 a las 9:16