ThinkPHP之配置加载代码优化
发布时间 - 2020-10-09 00:00:00 点击率:次本文主要是咔咔对框架代码做的一点优化,这只是咔咔的优化思路。
十、框架底层配置加载代码优化
在thinkphp/library/think/Config.php中方法loadFile这里看起来是不是有点不太优雅了。
既然在方法最后使用parse方法,也就是之前提到的工厂模式加载其它类型的配置文件。
那么为何不让这个工厂模式也加载PHP和yaml类型的配置文件。
此时就需要在thinkphp/library/think/config/driver这个目录建立php文件和yaml文件了。
首先建立一个php文件。
并且仿照其它三个类型文件,在php文件类型中只需要判断是否为文件,然后把文件引入进来即可。
在框架中PHP类型的配置文件都是数组形式的,所以在Php.php文件中parse方法直接返回config属性即可。
开始开心的测试吧!之前在env的文件中配置了CONFIG_EXT这个值为yaml。
也就是说读取config目录下的配置文件时,只能读取扩展为yaml类型的文件。
所以需要先把这个值给改回来,等后面把yaml类型的工厂类写好之后就可以使用了。
为了测试方便在config目录下添加一个新的配置
然后把config类中的lodeFile方法中判断php和yaml类型的代码注释掉
在控制器读取config/app.php配置
打印结果
打印出来的结果没有任何瑕疵,也就说我们进行简单优化的代码并没有不适之处。至于yaml也是一样的道理,只需要把最终的数据转为数组返回就行了。
以上就是咔咔对框架配置文件加载底层源码优化的解析过程,如有不适之处,可以评论区指出来。
坚持学习、坚持写博、坚持分享是咔咔从业以来一直所秉持的信念。希望在偌大互联网中咔咔的文章能带给你一丝丝帮助。我是咔咔,下期见。
# thinkphp
# 编辑器
# 咔咔
# 配置文件
# 加载
# 之处
# 都是
# 我是
# 在这里
# 给你
# 目录下
相关栏目:
【
网站优化151355 】
【
网络推广146373 】
【
网络技术251813 】
【
AI营销90571 】
相关推荐:
油猴 教程,油猴搜脚本为什么会网页无法显示?
Win11怎么查看显卡温度 Win11任务管理器查看GPU温度【技巧】
Swift中swift中的switch 语句
Laravel怎么使用Session存储数据_Laravel会话管理与自定义驱动配置【详解】
Laravel如何处理JSON字段的查询和更新_Laravel JSON列操作与查询技巧
如何用PHP快速搭建高效网站?分步指南
Win11怎么关闭资讯和兴趣_Windows11任务栏设置隐藏小组件
深圳网站制作的公司有哪些,dido官方网站?
HTML5空格和nbsp有啥关系_nbsp的作用及使用场景【说明】
Laravel如何从数据库删除数据_Laravel destroy和delete方法区别
Laravel如何实现多语言支持_Laravel本地化与国际化(i18n)配置教程
活动邀请函制作网站有哪些,活动邀请函文案?
php后缀怎么变mp4格式错误_修改扩展名提示格式不对怎么办【技巧】
小视频制作网站有哪些,有什么看国内小视频的网站,求推荐?
香港服务器网站搭建教程-电商部署、配置优化与安全稳定指南
javascript中数组(Array)对象和字符串(String)对象的常用方法总结
详解Oracle修改字段类型方法总结
如何用ChatGPT准备面试 模拟面试问答与职场话术练习教程
如何用低价快速搭建高质量网站?
HTML5打空格有哪些误区_新手常犯的空格使用错误【技巧】
为什么要用作用域操作符_php中访问类常量与静态属性的优势【解答】
Laravel如何使用Guzzle调用外部接口_Laravel发起HTTP请求与JSON数据解析【详解】
Laravel表单请求验证类怎么用_Laravel Form Request分离验证逻辑教程
如何快速生成专业多端适配建站电话?
Midjourney怎样加参数调细节_Midjourney参数调整技巧【指南】
HTML 中如何正确使用模板变量为元素的 name 属性赋值
Laravel如何部署到服务器_线上部署Laravel项目的完整流程与步骤
弹幕视频网站制作教程下载,弹幕视频网站是什么意思?
桂林网站制作公司有哪些,桂林马拉松怎么报名?
JS弹性运动实现方法分析
高端建站如何打造兼具美学与转化的品牌官网?
Win11怎么更改系统语言为中文_Windows11安装语言包并设为显示语言
如何用手机制作网站和网页,手机移动端的网站能制作成中英双语的吗?
品牌网站制作公司有哪些,买正品品牌一般去哪个网站买?
javascript中闭包概念与用法深入理解
如何在不使用负向后查找的情况下匹配特定条件前的换行符
做企业网站制作流程,企业网站制作基本流程有哪些?
高防服务器租用指南:配置选择与快速部署攻略
Laravel如何使用Scope本地作用域_Laravel模型常用查询逻辑封装技巧【手册】
Laravel怎么实现模型属性转换Casting_Laravel自动将JSON字段转为数组【技巧】
小米17系列还有一款新机?主打6.9英寸大直屏和旗舰级影像
制作网站软件推荐手机版,如何制作属于自己的手机网站app应用?
Laravel如何使用Contracts(契约)进行编程_Laravel契约接口与依赖反转
Laravel如何将应用部署到生产服务器_Laravel生产环境部署流程
如何安全更换建站之星模板并保留数据?
高性价比服务器租赁——企业级配置与24小时运维服务
Laravel如何为API生成Swagger或OpenAPI文档
原生JS实现图片轮播切换效果
JavaScript数据类型有哪些_如何准确判断一个变量的类型
Laravel如何使用Telescope进行调试?(安装和使用教程)

