英文好的可以直接查看github的文档介绍
https://github.com/vlucas/phpdotenv
翻译版本的
https://my.oschina.net/duoli/blog/1377170
https://segmentfault.com/a/1190000010886175
https://blog.youkuaiyun.com/qq_31879707/article/details/81984702
个人理解部分
简单理解就是将.env文件中定义的变量和值解析到可以通过getenv(),$_SERVER,$_ENV访问的形式
"vlucas/phpdotenv": "^3.4" 结构如下
本人并不理解结构的好处,或者需要去匹配下哪一种设计模式才能真正理解,只是明白了大体的调用逻辑,记录下方便以后有需要的时候可以快速理解应用
① 、Dotenv.php
项目中只需要一步就可以加载所有的配置到所需要地方
或者
$path是项目配置文件的地址;$name是配置文件名称,一般是.env;$factory是DotenvFactory.php的实例
② 、DotenvFactory.php
默认不传递$factory,DotenvFactory.php 中会采用默认设置,如果同样想设置到其他地方,可以编写“我的Adapter.php”并实现 AdapterInterface.php ,并在实例化 DotenvFactory 的时候传递到参数数组中。如果只需要设置到Env中则数组中只需要传递EnvConstAdapter的实例即可
③ 、Loader.php , Lines.php ,Parser.php,DotenvVariables.php
Dotenv.php算是入口文件,实际解析处理程序是Loader.php,
大概作用是读取.env文件,并通过调用Lines.php对读取到的内容进行(xing)行(hang)拆分,Parser.php对每一行进行匹配拆分出设置的配置项和配置值,DotenvVariables.php将通过循环调用xxxAdapter.php将配置项和配置值设置到相应的$_ENV或者$_SERVER中