Estou tentando obter algumas chaves de API que armazenei no meu arquivo .env para usar no javascript da lâmina. Eu adicionei duas chaves como:
APP_ENV=local
APP_KEY=////
APP_DEBUG=true
APP_LOG_LEVEL=debug
APP_URL=http://localhost
APP_GOOGLE_MAPS=////
APP_OVERHEID_IO=////
Na folha, preciso usar a API do Google Maps e a chave da API OverheidIO. Tentei obter uma das variáveis .env padrão para o caso de ter formatado as variáveis .env personalizadas de forma incorreta:
{{ env('APP.ENV') }} // nothing
{{ env('APP_ENV') }} // nothing
{{ env('APP_ENV'), 'test' }} // returns 'test'
Alguém poderia me ajudar a chamar a API do google maps e a chave da API overheidio na lâmina?
php artisan config:clear
e testarenv('APP_ENV')
em mexer. Para mim, ele retornalocal
string.php artisan config:clear
fez o truque.Respostas:
Cinco comandos mais importantes se o seu Laravel não estiver funcionando como esperado após algumas modificações no .env ou na pasta do banco de dados ou por causa de quaisquer outras modificações. Aqui está a explicação completa: https://www.youtube.com/watch?v=Q1ynDMC8UGg
fonte
php artisan config:cache
e eu não estou usando aquele. Por favor leia.php artisan config:cache
como @Learner menções. MAS, não tenho certeza se a resposta do aluno precisa ser editada para adicionar o comando ausente ou se você cometeu um erro. Por favor, esclareça isso.Eu tenho implementado da seguinte maneira:
@if (env('APP_ENV')!='Production') Enviroment Test @endif
Minha recomendação é executar o seguinte comando:
composer self-update
fonte
config
lugar@if(App::environment('production'))
MUITO IMPORTANTE
Todos env () como: as
env('APP_ENV')
chamadas NÃO FUNCIONARÃO na produção (quando você usarphp artisan config:cache
)O que usar?
- use env () apenas em arquivos de configuração
- use App :: environment () para verificar o ambiente (APP_ENV em .env).
- use config ('app.var') para todas as outras variáveis env, ex. config ('app.debug')
- crie seus próprios arquivos de configuração para suas próprias variáveis ENV. Exemplo:
Em seu .env:
exemplo config app / myconfig.php
return [ 'myvalue' => env('MY_VALUE', 'bar'), // 'bar' is default if MY_VALUE is missing in .env ];
Acesso em seu código:
config('myconfig.myvalue') // will result in 'foo'
Mais detalhes veja AQUI
fonte
use env() only in config files
. Esta é a melhor resposta para esta pergunta.Se você deseja obter o ambiente do aplicativo, tente o seguinte:
Não tentei outras variáveis.
fonte
Isso causa problemas para usar env () em qualquer lugar diferente da pasta config /. Use env lá e, em seguida, config () nas outras partes do aplicativo
fonte
Você só deve acessar os
.env
valores diretamente dentro dos arquivos de configuração e, em seguida, acessá-los de qualquer lugar (controladores, visualizações) dos arquivos de configuração usando oconfig()
helper.Por exemplo:
fonte
deveria consertar
fonte
Aqui está um link para a documentação: https://laravel.com/docs/6.x/configuration#retrieving-environment-configuration
No exemplo abaixo, expus o erro real quando estou no meu ambiente de desenvolvimento, mas forneço uma mensagem genérica se estiver em qualquer outro ambiente.
@if(App::environment('development')) Error: {{ $record->s_error }} @else XML Parsing Error - Please double check that your file is formatted correctly. @endif
fonte
obtenha valores aqui:
config/app.php
na lâmina:
{{ config('app.name', 'default value here') }}
na classe / controlador:
config('app.name', 'default value here')
fonte
Este comando deve ser escrito depois de editar o arquivo .env para acessar as variáveis de maneira fácil
fonte
Eu também estava tendo problemas para obter valor do arquivo .env, então fiz isso e ajudou:
fonte
Você pode obter env verificável da seguinte maneira:
@if (env('APP_ENV')!='Production') Enviroment Test @endif
referir link
fonte
Desde o Laravel 7.11 , você pode usar as diretivas
@env('')
e@production()
em modelos de blade:@env('staging') // The application is running in "staging"... @endenv @env(['staging', 'production']) // The application is running in "staging" or "production"... @endenv
ou
@production // Production specific content... @endproduction
Veja também na documentação do Laravel Blade .
fonte