配置加载本文框架代码

ThinkPHP之配置加载代码优化

编程开发 2020-10-10 01:57:52 39

导读

本文主要是咔咔对框架代码做的一点优化,这只是咔咔的优化思路。十、框架底层配置加载代码优化在thinkPHP/library/think/Config.php中方法loadFile这里看起来是不是有点不太优雅了。既然在方法最后使用parse方法,也就是之前提到的工厂模式加载其它类型的配置文件。那么为何不……

本文主要是咔咔对框架代码做的一点优化,这只是咔咔的优化思路。

十、框架底层配置加载代码优化

thinkPHP/library/think/Config.php中方法loadFile这里看起来是不是有点不太优雅了。

既然在方法最后使用parse方法,也就是之前提到的工厂模式加载其它类型的配置文件。

那么为何不让这个工厂模式也加载PHP和yaml类型的配置文件。

ThinkPHP之配置加载代码优化此时就需要在thinkphp/library/think/config/driver这个目录建立php文件和yaml文件了。

首先建立一个php文件。

并且仿照其它三个类型文件,在php文件类型中只需要判断是否为文件,然后把文件引入进来即可。

在框架中PHP类型的配置文件都是数组形式的,所以在Php.php文件中parse方法直接返回config属性即可。

ThinkPHP之配置加载代码优化开始开心的测试吧!之前在env的文件中配置了CONFIG_EXT这个值为yaml。

也就是说读取config目录下的配置文件时,只能读取扩展为yaml类型的文件。

所以需要先把这个值给改回来,等后面把yaml类型的工厂类写好之后就可以使用了。

为了测试方便在config目录下添加一个新的配置

ThinkPHP之配置加载代码优化然后把config类中的lodeFile方法中判断php和yaml类型的代码注释掉

ThinkPHP之配置加载代码优化

在控制器读取config/app.php配置

ThinkPHP之配置加载代码优化打印结果

打印出来的结果没有任何瑕疵,也就说我们进行简单优化的代码并没有不适之处。ThinkPHP之配置加载代码优化至于yaml也是一样的道理,只需要把最终的数据转为数组返回就行了。

ThinkPHP之配置加载代码优化以上就是咔咔对框架配置文件加载底层源码优化的解析过程,如有不适之处,可以评论区指出来。


1253067 TFnetwork_cn