2016-03-23 10 views
0

Ich muss 'Null' als Zeichenfolge in der .env-Datei speichern.Speichern 'Null' Zeichenfolge in .env-Datei Laravel 5

Jetzt habe ich VAR_NAME=null in der Datei und wenn ich versuche, den Wert mit env('VAR_NAME') lesen Es spielt keine nichts zurück.

Gibt es eine Möglichkeit, den Wert als Zeichenfolge zu speichern?

+0

'VAR_NAME =' funktioniert nicht? –

+0

Ich denke, es funktioniert wie erwartet. Der Wert ist null, und env ('VAR_NAME') gibt einen leeren Wert zurück. Was ich brauche ist, dass env ('VAR_NAME') eine 'Null' Zeichenkette zurückgibt. – Daniel

Antwort

1

Die Anser auf meine Frage scheint zu sein, nein, können Sie nicht. Die Lösung bestand darin, den zweiten Parameter env('VAR_NAME','default') zu verwenden.

Das Problem ist, dass env() nicht den Standardwert zurückgibt, da VAR_NAME existiert und einen Wert haben.

Ich kam VAR_NAME in der env-Datei nur für den Fall, dass ich es später verwenden muss.

+1

Um dieses Problem zu umgehen, habe ich '' null'' als Warteschlangentreiber verwendet und meine Konfigurationsdatei so geändert, dass ''driver' => env ('QUEUE_DRIVER', 'sync')?: 'Null'' ist. Dies fällt zurück auf "null", wenn der env-Wert falsch ist – AlbinoDrought

1

Wenn Sie VAR_NAME=null in .env Datei eingeben und versuchen, es als {{ env('VAR_NAME') }} zu drucken, würde es nichts zeigen. Aber der Wert ist immer noch null.

Sie können es sehen, indem Sie {{ var_dump(env('VAR_NAME'))}}

Aber wenn Sie null als String zurückwechseln wollen, ich glaube nicht, es möglich ist. Sie müssten wahrscheinlich eine andere Zeichenfolge angeben und sie als null betrachten.

Wenn Sie es nur in einer globalen Variablen speichern möchten, können Sie es in der config/app.php Datei speichern und als {{Config::get('app.var_name')}} benutzen Sie diese null zurückkehren würde.

//config/app.php 
'var_name' => 'null', 

zugreifen es jetzt über:

config('app.var_name') 

oder

Config::get('app.var_name') 
+0

Aber wie kann ich den Wert als eine Null-Zeichenfolge wiederherstellen? – Daniel

+0

@Daniel Überprüfen Sie die aktualisierte Antwort –

+0

Das funktioniert, ist aber nicht das, was ich will. Ich werde es weiter versuchen. – Daniel

0

Sie eine leere Zeichenfolge in Ihrer .env Datei speichern kann, indem der Raum nach = leer zu lassen, wie `

VAR_NAME= 

Aber es wird nicht null zurück, wird es einen leeren String zurück:

var_dump(env("VAR_NAME"); 
//string(0) "" 

Wenn Sie es wünschen NULL zurück, dann

VAR_NAME=NULL 

Jetzt verwenden, wenn Sie die Zeichenfolge "NULL" möchten, können Sie müssten einige benutzerdefinierte Logik, um es zur Laufzeit zu konvertieren, zum Beispiel:

$test = env("VAR_NAME") ? env("VAR_NAME"):"NULL"; 
var_dump($test); 
// string(4) "NULL" 
1

Sie pHP getenv Funktion und übergeben Sie einen Standardwert verwenden können. Also, wenn der Wert nicht vorhanden ist, dann wird es den Standardwert für zB zurückgeben:

getenv (‚VAR_NAME‘, null)

dies den Wert zurück, wenn VAR_NAME in der .env Datei sonst vorhandenen wird es zurückgeben Sie den Standardwert, der Null ist

+0

getenv() gab mir einen Fehler, aber diese Antwort gab mir einen Hinweis, wie zu lösen, Danke. – Daniel

Verwandte Themen