我需要将'null'存储为.env文件中的字符串。
现在我在文件中有VAR_NAME=null
,如果我尝试读取该值
env('VAR_NAME')
它不会返回任何内容。
有没有办法将值存储为字符串?
答案 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
,以防万一我以后需要使用它。