不知道大家有没有考虑过这样一个问题:既然有配置文件了,那么这个.env文件的作用是什么呢?
你肯定有这样的经历吧,本地环境和服务器环境是不同的,有些配置值就会不一样,比如数据库配置信息不同、域名不同等等。这样就会导致一些问题,如果你使用了版本控制系统,那么服务器端拉取了最新的代码,服务端的配置文件就会变为本地开发环境的了。然后你需要一个个的去看,然后去修改,是不是非常的麻烦!还有可能你本地的配置信息会被其他开发伙伴看到(可能你本地的数据库信息也很重要的话,你就不希望其他人知道)
.env文件就是为了解决这样的问题的。我们可以将服务器和本地环境配置项一致的,都放在配置文件中,将不同的配置项及那些敏感的信息则放在.env文件中。另外注意,不将.env文件放在版本控制系统中。
另外你应该注意到,根目录下还有一个.env.example文件。这个文件一般是建议放在版本控制系统中的,它是为了让其他开发者知道,你应该将这个文件复制一份,并将其名称修改为.env。然后将里面的值按照你自己的环境设定。
如果你和我一样,有三种不同的环境:开发环境、测试环境、线上环境。那么你还应该再创建一个.env.testing文件。当运行 PHPUnit 测试或以 --env=testing 为选项执行 Artisan 命令时,该文件将覆盖 .env 文件中的值。
超全局变量$_ENV
.env文件了列出的所有变量,会被加载到php的超全局变量$_ENV中,可以通过该变量检索相应的值。
确定当前系统环境
应用程序当前的所处环境是由.env文件里的APP_ENV决定的。你可以用App::environment()方法来获取该选项的值。如:
if ('local' == App::environment()) { // 本地环境 }
Atas ialah kandungan terperinci laravel中.env文件的作用. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!