• 技术文章 >php框架 >ThinkPHP

    ThinkPHP之如何加载其它类型的配置文件

    咔咔咔咔2020-10-09 16:05:01原创58

    在框架中所有的配置文件类型都是PHP文件,那么我们怎么实现让其加载其它类型的扩展呢!本文只是作为一个扩展,不建议更改框架源码。

    七、工厂模式加载其它类型的配置文件

    在之前看到的loadFile方法中,文件类型为PHP或者yaml程序就打断了,就不会在去执行后边的pares方法。

    那么这个parse方法是做什么的呢!

    在这里插入图片描述进入到paras这个方法后,首先看注释

    随后使用了一个工厂模式去加载think/config/driver下的文件

    在这里插入图片描述进入到factory这个方法后,这块内容属于容器的就不过多解释了。

    只需要知道这里最终会返回一个实例给paras方法的$object变量

    在这里插入图片描述最终还是使用在上文中提到的set方法,而内部的object->parse()就是执行返回对象的内部方法,例如下图展示三个类型。ini、json、xm三个类型都存在同样的方法

    在这里插入图片描述这是ini类型,其它俩个的类型也是一毛一样的,就是会有同样的方法来实现对应的功能

    在这里插入图片描述
    在这里插入图片描述

    简单梳理一下工厂模式加载不同类型的配置

    • 把对应的类型传给一个方法
    • 然后这个方法返回对应的实例
    • 在用这个实例去调用类里边的方法
    • 所有实例里的方法名都是一致的

    这里咔咔后期会单独出一篇文章模仿这个实现另一个功能,导图会有所有的文章链接哦!

    在ini.php中看到了一个方法parse_ini_file,其实这个方法根据之前的学习就大概能了解到时把ini类型的配置文件转为数组形式。这里就不做演示了,很是简单哈!

    那么其它俩种类型都是为了把文件数据转为数组的。

    坚持学习、坚持写博、坚持分享是咔咔从业以来一直所秉持的信念。希望在偌大互联网中咔咔的文章能带给你一丝丝帮助。我是咔咔,下期见。

    以上就是ThinkPHP之如何加载其它类型的配置文件的详细内容,更多请关注php中文网其它相关文章!

    本文原创发布php中文网,转载请注明出处,感谢您的尊重!
    专题推荐:ThinkPHP
    上一篇:ThinkPHP之配置源码深度解析 下一篇:ThinkPHP之yaml初体验
    第13期线上培训班

    相关文章推荐

    • ThinkPHP之配置文件的种类• ThinkPHP之学习使用ArrayAccess• ThinkPHP之配置源码执行流程• ThinkPHP之配置源码深度解析

    全部评论我要评论

  • 取消发布评论发送
  • 1/1

    PHP中文网