Laravel 配置:判断当前环境
问题
一般我们会有几个环境:
local
本地环境staging
线上测试环境production
生产环境
这个值我们可以在 .env
文件中配置,这里的问题是:
如何在代码中判断是在本地开发环境,还是在生产环境环境呢?
有多个方法,接下来一一讲解,为了测试的方便先进入 Tinker:
$ php artisan tinker
方法一、isLocal()
方法
此方法判断当前是否是本地环境:
>>> app()->isLocal()
=> true
方法二、environment()
方法
以下方法同 app()->isLocal()
一致:
>>> app()->environment('local')
=> true
不同的是 environment()
方法支持多个环境匹配,注意以下以数组方式传参:
>>> app()->environment(['local', 'staging'])
=> true
>>> app()->environment(['production', 'staging'])
=> false
方法三、runningUnitTests()
方法
此方法可以判断是否在单元测试中;
>>> app()->runningUnitTests()
=> false