将'null'字符串存储在.env文件Laravel 5中

时间:2016-03-23 19:47:04

标签: laravel laravel-5.1

我需要将'null'存储为.env文件中的字符串。

现在我在文件中有VAR_NAME=null,如果我尝试读取该值 env('VAR_NAME')它不会返回任何内容。

有没有办法将值存储为字符串?

4 个答案:

答案 0 :(得分:1)

如果您将VAR_NAME=null放入.env文件并尝试将其打印为{{ env('VAR_NAME') }},则不会显示任何内容。但价值仍为空。

您可以使用{{ var_dump(env('VAR_NAME'))}}

查看

但是如果你想将null作为字符串返回,我认为这是不可能的。您可能需要指定任何其他字符串并将其视为null

如果您只想将其存储在全局变量中,可以将其保存在config/app.php文件中并将其用作{{Config::get('app.var_name')}}这将返回null

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

现在通过以下方式访问它:

config('app.var_name')

Config::get('app.var_name')

答案 1 :(得分:1)

您可以在.env文件中保留一个空白字符串,方法是将=留空,例如`

VAR_NAME=

但它不会返回null,它将返回一个空字符串:

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

如果您希望它返回NULL,请使用

VAR_NAME=NULL

现在,如果你想要字符串"NULL",你必须有一些自定义逻辑来在运行时转换它,例如:

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

答案 2 :(得分:1)

您可以使用php的getenv函数并传递默认值。因此,如果该值不存在,那么它将返回例如:

的默认值

GETENV(#39&; VAR_NAME',null)的

如果._NAME文件中存在VAR_NAME,则会返回该值,否则会返回默认值为null

答案 3 :(得分:1)

我的问题似乎是,不,你不能。

解决方案是使用env('VAR_NAME','default')的第二个参数。

问题是env()没有返回默认值,因为VAR_NAME存在并且有值。

我在env文件中注释了VAR_NAME,以防万一我以后需要使用它。