Ich versuche, einige API-Schlüssel, die ich in meiner ENV-Datei gespeichert habe, für die Verwendung im Blade-Javascript zu erhalten. Ich habe zwei Schlüssel hinzugefügt wie:
APP_ENV=local
APP_KEY=////
APP_DEBUG=true
APP_LOG_LEVEL=debug
APP_URL=http://localhost
APP_GOOGLE_MAPS=////
APP_OVERHEID_IO=////
In Blade muss ich die Google Maps-API und den OverheidIO-API-Schlüssel verwenden. Ich habe versucht, eine der Standard-.env-Variablen abzurufen, nur für den Fall, dass ich die benutzerdefinierten .env-Variablen falsch formatiert habe:
{{ env('APP.ENV') }} // nothing
{{ env('APP_ENV') }} // nothing
{{ env('APP_ENV'), 'test' }} // returns 'test'
Könnte mir jemand helfen, den Google Maps API- und Overheidio API-Schlüssel im Blade aufzurufen?
php artisan config:clear
und zu testenenv('APP_ENV')
. Für mich gibt eslocal
String zurück.php artisan config:clear
hat den Trick gemacht.Antworten:
Fünf wichtige Befehle, wenn Ihr Laravel nach einigen Änderungen in .env oder im Datenbankordner oder aufgrund anderer Änderungen nicht wie erwartet funktioniert. Hier finden Sie eine vollständige Erklärung: https://www.youtube.com/watch?v=Q1ynDMC8UGg
quelle
php artisan config:cache
und ich diesen nicht benutze. Lesen Sie bitte.php artisan config:cache
als @ Lerner erwähnt. ABER ich bin nicht sicher, ob die Antwort des Lernenden bearbeitet werden muss, um den fehlenden Befehl hinzuzufügen, oder ob Sie einen Fehler gemacht haben. Bitte klären Sie es.Ich habe es folgendermaßen implementiert:
@if (env('APP_ENV')!='Production') Enviroment Test @endif
Meine Empfehlung ist, den folgenden Befehl auszuführen:
composer self-update
quelle
config
stattdessen@if(App::environment('production'))
SEHR WICHTIG
Alle env () mögen:
env('APP_ENV')
ruft WON'T WORK in der Produktion auf (wenn Sie verwendenphp artisan config:cache
)Was ist zu verwenden?
- Verwenden Sie env () nur in Konfigurationsdateien.
- Verwenden Sie App :: environment () zum Überprüfen der Umgebung (APP_ENV in .env).
- Verwenden Sie config ('app.var') für alle anderen env-Variablen, z. config ('app.debug')
- Erstellen Sie eigene Konfigurationsdateien für Ihre eigenen ENV-Variablen. Beispiel:
In Ihrer .env:
Beispiel config app / myconfig.php
return [ 'myvalue' => env('MY_VALUE', 'bar'), // 'bar' is default if MY_VALUE is missing in .env ];
Zugriff in Ihrem Code:
config('myconfig.myvalue') // will result in 'foo'
Weitere Details finden Sie HIER
quelle
use env() only in config files
. Dies ist die beste Antwort auf diese Frage.Wenn Sie die Umgebung der App erhalten möchten, versuchen Sie Folgendes:
Ich habe keine anderen Variablen ausprobiert.
quelle
Es verursacht Probleme, env () an einer anderen Stelle als im Ordner config / zu verwenden. Verwenden Sie dort env und dann config () in den anderen Teilen der App
quelle
Hier ist ein Link zur Dokumentation: https://laravel.com/docs/6.x/configuration#retrieving-environment-configuration
Im folgenden Beispiel spucke ich den tatsächlichen Fehler aus, wenn ich mich in meiner Entwicklungsumgebung befinde, gebe aber eine generische Meldung, wenn ich mich in einer anderen Umgebung befinde.
@if(App::environment('development')) Error: {{ $record->s_error }} @else XML Parsing Error - Please double check that your file is formatted correctly. @endif
quelle
Sie sollten nur
.env
direkt in Konfigurationsdateien auf Werte zugreifen und dann von überall (Controller, Ansichten) aus Konfigurationsdateien mit demconfig()
Helfer auf sie zugreifen.Beispiel:
quelle
sollte es beheben
quelle
Werte hier abrufen:
config/app.php
in Klinge:
{{ config('app.name', 'default value here') }}
in Klasse / Controller:
config('app.name', 'default value here')
quelle
Seit Laravel 7.11 können Sie die Anweisungen
@env('')
und@production()
in Blade-Vorlagen verwenden:@env('staging') // The application is running in "staging"... @endenv @env(['staging', 'production']) // The application is running in "staging" or "production"... @endenv
oder
@production // Production specific content... @endproduction
Siehe auch in der Laravel Blade-Dokumentation .
quelle
Dieser Befehl sollte geschrieben werden, nachdem Sie die ENV-Datei bearbeitet haben, um auf einfache Weise auf Variablen zugreifen zu können
quelle
Ich hatte auch Probleme, Wert aus der .env-Datei zu erhalten, dann tat ich dies und es half:
quelle
Sie können auf folgende Weise bene verifizierbar werden:
@if (env('APP_ENV')!='Production') Enviroment Test @endif
siehe Link
quelle