Laravel env函数的坑,缓存config配置问题

2020-06-11 11:30:46 浏览数 (1)

Laravel

Laravel env函数的坑

在写一个接口的时候,需要从 config 配置文件里面读取配置, 默认的配置信息是在 .env 文件里面的。 我是直接从控制器里面 通过 env 函数来去取配置信息的。但是这里就有个坑了,因为 配置文件是可以进行缓存的, 然后我每次进行缓存,打开控制器就会报错了,因为读取不到配置的信息。然后去查了资料才发现问题!

在框架核心启动类中 IlluminateFoundationBootstrapLoadEnvironmentVariables::boot ,第20行代码可以知道, 如果缓存了配置文件就会直接返回了,然后就不会从 env 文件加载配置了!

怎么解决问题呢,可以在配置文件写好配置参数,然后在 config/services.php 第三方服务读取配置参数。 在需要用到的地方 使用 config('services.xx.xxx') 函数读取配置,这样就可以正常缓存配置了!

本文由 Alone88 创作,采用 知识共享署名4.0 国际许可协议进行许可 本站文章除注明转载/出处外,均为本站原创或翻译,转载前请务必署名 最后编辑时间为: Dec 16, 2019 at 08:59 am

0 人点赞