PHP dotenv 3.0 发布
发布日期 作者: Paul Redmond
PHP dotenv 上周发布了 3.0 版本,其中包含一些“自 2.x 版本以来对库做出的重要改进”。同时,该包能够保留 PHP dotenv 2.0 中的大部分相同 API。
以下是 v3.0.0 发行说明 中的新功能
- 在尝试读取和修改环境的哪些部分方面更加灵活 (#300)
- 对多行变量的一流支持 (#301)
- 不再对值进行修剪。您现在可以获得完全相同的的值 (#302)
- 接受一个路径列表,按顺序尝试查找 dotenv 文件,而不是单个路径 (#307)
- 更严格的变量名称验证,以避免静默故障或模糊错误 (#311)
首先,您通常构建 PHP dotenv 实例的方式在 v3 中更改为静态构造函数。以下是一段即将发布的 Laravel 5.8 代码,它初始化了 PHP dotenv
Dotenv::create($app->environmentPath(), $app->environmentFile())->safeLoad();
如果您有高级需求,可以使用新的 Dotenv\Environment\FactoryInterface
的自定义实现进行一些 Loader
自定义。如果您想了解更多信息,我建议您查看最新的自述文件和 PR #300 以获取更多详细信息。
接下来,多行支持意味着现在可以定义跨越多行的变量
MY_VARIABLE="value1value2"
更有趣的是,多行支持和缺少修剪意味着证书、SSH 密钥等将“按原样”被使用,无需使用伪换行符。
由于 v3 不再修剪字符串,因此您需要查看使用 PHP dotenv 的项目,以查看可能受到此更改影响的任何变量,包括 Laravel 应用程序。
Laravel 什么时候开始使用 PHP dotenv 3.x?
Laravel 5.7 将坚持使用 v2,并且预计今年晚些时候发布的 Laravel 5.8 将升级到 v3.0。
查看发行说明,了解有关代码更改、升级以及新功能的完整详细信息。
特别感谢 Graham Campbell 在此版本的发布以及将 v3 集成到 Laravel 中所做出的努力,以及所有其他贡献者!