Laravel 配置:判断当前环境 0 个改进

问题

一般我们会有几个环境:

  • 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

扩展阅读

本文为 Wiki 文章,邀您参与纠错、纰漏和优化
讨论数量: 0
(= ̄ω ̄=)··· 暂无内容!

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!