laravel5.1 获取环境变量environment的疑问
在laravel框架中,可以通过app()->environment()来获取当前环境,(测试,正式环境)
如果传入参数则是判断当前环境是否与传入的参数匹配,可传入多个参数,或者数组
在Application.php文件中,该函数的定义是
public function environment()
{
if (func_num_args() > 0) {
$patterns = is_array(func_get_arg(0)) ? func_get_arg(0) : func_get_args();
dd($patterns); // 我加的
foreach ($patterns as $pattern) {
echo $pattern; // 我加的
if (Str::is($pattern, $this['env'])) {
return true;
}
}
return false;
}
return $this['env'];
}
比如我传入的参数如下
app()->environment('test', 'production');
或
app()->environment(['test', 'production']);
不管是那种情况,$patterns应该是一个包含了’test’, ‘production’两个值的数组,但是实际输出却是这样的
array:1 [▼
0 => "testing"
]
但是在foreach循环中输出的值却是testing和test,实在无法理解,为什么会这样