Estoy tratando de obtener algunas claves de API que he almacenado en mi archivo .env para usar en el javascript de la hoja. He agregado dos claves como:
APP_ENV=local
APP_KEY=////
APP_DEBUG=true
APP_LOG_LEVEL=debug
APP_URL=http://localhost
APP_GOOGLE_MAPS=////
APP_OVERHEID_IO=////
En Blade, necesito usar la API de Google Maps y la clave API de OverheidIO. He intentado obtener una de las variables .env predeterminadas en caso de que haya formateado incorrectamente las variables .env personalizadas:
{{ env('APP.ENV') }} // nothing
{{ env('APP_ENV') }} // nothing
{{ env('APP_ENV'), 'test' }} // returns 'test'
¿Podría alguien ayudarme a llamar a la API de Google Maps y a la clave de API de Overheidio en la hoja?
php artisan config:clear
y probarenv('APP_ENV')
en Tinker. Para mí, devuelve unalocal
cadena.php artisan config:clear
Hizo el truco.Respuestas:
Los cinco comandos más importantes si su Laravel no funciona como se esperaba después de algunas modificaciones en la carpeta .env o la base de datos o debido a cualquier otra modificación. Aquí hay una explicación completa: https://www.youtube.com/watch?v=Q1ynDMC8UGg
fuente
php artisan config:cache
y yo no estoy usando ese. Por favor lee.php artisan config:cache
menciones de @Learner. PERO, no estoy seguro de si es necesario editar la respuesta del alumno para agregar el comando que falta o si cometió un error. Por favor, aclaralo.Lo tengo implementado de la siguiente manera:
@if (env('APP_ENV')!='Production') Enviroment Test @endif
Mi recomendación es ejecutar el siguiente comando:
composer self-update
fuente
config
lugar@if(App::environment('production'))
MUY IMPORTANTE
Todo env () como: las
env('APP_ENV')
llamadas NO FUNCIONAN en producción (cuando lo usaphp artisan config:cache
)¿Qué usar?
- use env () solo en archivos de configuración
- use App :: environment () para verificar el entorno (APP_ENV en .env).
- use config ('app.var') para todas las demás variables env, ej. config ('app.debug')
: cree sus propios archivos de configuración para sus propias variables ENV. Ejemplo:
en su .env:
ejemplo config app / myconfig.php
return [ 'myvalue' => env('MY_VALUE', 'bar'), // 'bar' is default if MY_VALUE is missing in .env ];
Accede en tu código:
config('myconfig.myvalue') // will result in 'foo'
Más detalles ver AQUÍ
fuente
use env() only in config files
. Esta es la mejor respuesta a esta pregunta.Si desea obtener el entorno de la aplicación, intente esto:
No he probado otras variables.
fuente
Causa problemas al usar env () en cualquier otro lugar que no sea la carpeta config /. Use env allí y luego config () en las otras partes de la aplicación
fuente
Solo debe acceder a los
.env
valores directamente dentro de los archivos de configuración y luego acceder a ellos desde cualquier lugar (controladores, vistas) desde los archivos de configuración utilizando elconfig()
ayudante.
fuente
debería arreglarlo
fuente
Aquí hay un enlace a la documentación: https://laravel.com/docs/6.x/configuration#retrieving-environment-configuration
En el siguiente ejemplo, escupo el error real cuando estoy en mi entorno de desarrollo, pero doy un mensaje genérico si estoy en cualquier otro entorno.
@if(App::environment('development')) Error: {{ $record->s_error }} @else XML Parsing Error - Please double check that your file is formatted correctly. @endif
fuente
obtener valores aquí:
config/app.php
en la hoja:
{{ config('app.name', 'default value here') }}
en clase / controlador:
config('app.name', 'default value here')
fuente
Este comando debe escribirse después de editar el archivo .env para acceder a las variables de manera fácil
fuente
También estaba teniendo problemas para obtener valor del archivo .env, luego hice esto y me ayudó:
fuente
Puede volverse envidiable de la siguiente manera:
@if (env('APP_ENV')!='Production') Enviroment Test @endif
referir enlace
fuente
Desde Laravel 7.11 , puede usar las directivas
@env('')
y@production()
en las plantillas de hoja:@env('staging') // The application is running in "staging"... @endenv @env(['staging', 'production']) // The application is running in "staging" or "production"... @endenv
o
@production // Production specific content... @endproduction
Consulte también la documentación de Laravel Blade .
fuente