laravel5.1 获取环境变量environment的疑问

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,实在无法理解,为什么会这样

你可能感兴趣的:(laravel5.1)