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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值