本文主要针对Config的源码进行简单的执行解析,从图解到代码希望你有更深的理解。上文提到的yaconf就是在这里体现的,每一篇文章都是为了给后边做铺垫。
六、Config源码执行流程
虽说上面的Yaconf对于config的源码解析没有多大的帮助,但是也是在扩宽一下思路,以后在工作中可以尝试使用Yaconf。
进入正题,想知道Config是怎么进行加载解析的,先来画一个图。一起看一下加载config的执行流程。

回到public/index.php,在上一期说了类的自动加载是在加载base.php文件的过程中执行的。
那么config的加载是在下图框起来的这里,这里涉及到了容器,会有一个单独的专题来对容器进行剖析。
这里就不过多说明了,这段代码回去执行`D:phpstudy_proWWWThinkPHPSourceCodeAnalysisthinkphplibrarythinkApp.php这个文件的run方法。
并且在run方法中需要追踪的是initialize应用初始化这个函数
接着在initialize这个方法中就会看到配置文件的蛛丝马迹,随之而来就是一个初始化应用init
直到走到init方法中,才算是进入了主题。
开始了自动加载配置文件,并且还调用了config类中的load方法,也是需要一起阅读的。
来到这里之后需要简单的进行解读一下
这段代码会直接走到elseif中,因为在app目录下没有设置config目录
并且这里有个configPath这个属性熟悉吧!这个值最终就是D:phpstudy_proWWWThinkPHPSourceCodeAnalysisconfig

在接这就是把config目录下的文件全部拿出来。
传递给config类的load方法
在这里有几个知识点提一下,就当回顾了
在这段代码中有一个属性configExt,这个值是在环境变量读出来的,给的值是php

坚持学习、坚持写博、坚持分享是咔咔从业以来一直所秉持的信念。希望在偌大互联网中咔咔的文章能带给你一丝丝帮助。我是咔咔,下期见。
以上就是ThinkPHP之配置源码执行流程的详细内容,更多请关注创想鸟其它相关文章!
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 chuangxiangniao@163.com 举报,一经查实,本站将立刻删除。
发布者:程序猿,转转请注明出处:https://www.chuangxiangniao.com/p/352047.html
微信扫一扫
支付宝扫一扫