[php] 블레이드에서 Laravel .env 변수에 액세스

블레이드 자바 스크립트에서 사용하기 위해 .env 파일에 저장 한 API 키를 얻으려고합니다. 다음과 같은 두 가지 키를 추가했습니다.

APP_ENV=local
APP_KEY=////
APP_DEBUG=true
APP_LOG_LEVEL=debug
APP_URL=http://localhost
APP_GOOGLE_MAPS=////
APP_OVERHEID_IO=////

블레이드에서는 Google Maps API 및 OverheidIO API 키를 사용해야합니다. 사용자 지정 .env 변수의 형식을 잘못 지정한 경우를 대비하여 기본 .env 변수 중 하나를 가져 오려고했습니다. :

{{ env('APP.ENV') }} // nothing
{{ env('APP_ENV') }} // nothing
{{ env('APP_ENV'), 'test' }} // returns 'test' 

누군가가 블레이드에서 Google지도 API 및 Overheidio API 키를 호출하도록 도와 줄 수 있습니까?



답변

.env 또는 데이터베이스 폴더의 일부 수정 후 또는 기타 수정으로 인해 Laravel이 예상대로 작동하지 않는 경우 가장 중요한 5 가지 명령입니다. 자세한 설명은 다음과 같습니다.
https://www.youtube.com/watch?v=Q1ynDMC8UGg

php artisan config:clear
php artisan cache:clear
composer dump-autoload
php artisan view:clear
php artisan route:clear


답변

다음과 같은 방식으로 구현했습니다.

@if (env('APP_ENV')!='Production')
Enviroment Test
@endif

내 권장 사항은 다음 명령을 실행하는 것입니다. composer self-update


답변

매우 중요

다음과 같은 모든 env () : 프로덕션에서 WO N’T WORKenv('APP_ENV')호출 합니다 (사용시 ).php artisan config:cache

무엇을 사용합니까?
-설정 파일에서만 env ()
사용-환경 확인을 위해 App :: environment () 사용 (.env의 APP_ENV).
-다른 모든 환경 변수에는 config ( ‘app.var’)를 사용하십시오. config ( ‘app.debug’)
-자신의 ENV 변수에 대한 자체 구성 파일을 만듭니다. 예 :
.env에서 :

MY_VALUE=foo

예제 구성 app / myconfig.php

return [
    'myvalue' => env('MY_VALUE', 'bar'), // 'bar' is default if MY_VALUE is missing in .env
];

코드에서 액세스 :

config('myconfig.myvalue') // will result in 'foo'

자세한 내용은 여기를 참조하십시오.


답변

앱의 환경을 얻으려면 다음을 시도하십시오.

{{App::environment()}}

다른 변수를 시도하지 않았습니다.


답변

config / 폴더가 아닌 다른 곳에서 env ()를 사용하면 문제가 발생합니다. 거기에서 env를 사용한 다음 앱의 다른 부분에서 config ()를 사용하십시오.


답변

다음은 문서 링크입니다. https://laravel.com/docs/6.x/configuration#retrieving-environment-configuration

아래 샘플에서는 개발 환경에있을 때 실제 오류를 뱉어 내지 만 다른 환경에서는 일반적인 메시지를 제공합니다.

@if(App::environment('development'))
    Error: {{ $record->s_error }}
@else
    XML Parsing Error - Please double check that your file is formatted correctly.
@endif


답변

.env구성 파일 내에서 직접 값에 액세스 한 다음 config()도우미

를 사용하여 구성 파일의 모든 위치 (컨트롤러, 뷰)에서 액세스해야합니다 . 예를 들면 다음과 같습니다.

.env

TEST_URL=http://test

config / app.php

return [
   'test_url' => env('TEST_URL','http://default.url')
];

resources / views / welcome.blade.php

{{ config('app.test_url')}}

자세한 내용 은 laravel 문서의 구성 캐싱 을 참조하십시오 .