Rumah > rangka kerja php > Laravel > laravel框架里.env文件与config目录下配置文件关系

laravel框架里.env文件与config目录下配置文件关系

齐天大圣
Lepaskan: 2020-12-14 13:40:26
asal
1917 orang telah melayarinya

可能许多童鞋和我一样,在看文档时被.env文件和config目录里的配置文件搞混乱了,它们之间到底什么关系。今天,我们一起看看它们之前的关系吧。

.env文件与config目录配置文件关系

首先,文档里说laravel所有配置文件都保存在config目录的文件中。那么根目录下的.env文件到底是干嘛的呢?我们打开看下.env文件以及config/app.php这两个文件

# .env文件
APP_NAME=Laravel
……    
# app.php文件
'name' => env('APP_NAME', 'Larave'),
Salin selepas log masuk

看到这,我基本可以猜测出来大致意思了:如果config目录下的配置文件配置项使用了env函数,那么如果.env文件中配置了该选项,则使用.env文件里的值,否则使用配置文件设置的默认值

接下来,来验证我的猜测。首先写下测试代码:

return config('app.name');
Salin selepas log masuk

接着,将.env文件的APP_NAME修改为boy,app.php文件里的默认值修改为girl

APP_NAME=boy
……
'name' => env('APP_NAME', 'girl'),
Salin selepas log masuk

发现一个有趣的问题,测试代码返回的结果还是Laravel。然后,我重启了下php artisan serve,然后再刷新才出现结果为boy。这样就验证了我的猜测是对的,但有引出另一个推测:如果用到的配置值在.env文件里,那么修改.env文件里的值不会立即有效,必须重启才会有效

为了验证我的另一个猜测,我将.env里的APP_NAME那行给删除了,然后重启。测试的返回结果是girl。接着,我将girl修改为girl1,然后刷新浏览器,返回值是girl1。所以我的结论验证的正确的。

这里总结下:

  • 如果config目录下的配置文件配置项使用了env函数,那么如果.env文件中配置了该选项,则使用.env文件里的值,否则使用配置文件设置的默认值

  • 如果用到的配置值在.env文件里,那么修改.env文件里的值不会立即有效,必须重启php artisan serve才会有效

Atas ialah kandungan terperinci laravel框架里.env文件与config目录下配置文件关系. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Label berkaitan:
sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan