• 技术文章 >php框架 >ThinkPHP

    ThinkPHP容器之初步解析

    咔咔咔咔2020-10-12 13:58:48原创73

    本文是解析容器类源码之前做的一个简单的梳理,把大体梳理完脑海中有个印象才可以深入的对容器进行解析。

    七、Container容器类初步剖析

    在之前的文章中实现了一个自己创建的容器,接下来看看源码中的容器,经过了之前文章中容器中出现的技术点都已经囊括完了。

    在接下里阅读容器源码就不会很吃力,如果之前的文章没看,一定要大概过一遍哈!

    相信大家无数次打开的一个文件public/index.php

    曾有多少次打开这个文件想对源码进行一探究竟,但是看着看着就放弃了。

    经过之前的注册树模式之后,你肯定就会明白这行代码会返回什么Container::get('app')

    这行代码返回就是app的实例,可以进行简单的断点一下。

    可以看到返回就是app类里边的众多属性。

    所以说注册树模式不会的在继续返回去看之前写的,要不越看越迷糊。

    之前的技术点都是为了后边一个铺垫,如果之前的文章不看后边是没办法看的,高手就不说了哈!

    那么框架中的容器是怎么定义的呢!它到底是怎么实现的呢!

    也就是只需要去关注这个get()方法做的事情就可以了。

    代码就会追踪到文件thinkphp/library/think/Container.php中的get()方法

    这里的getInstance()方法不陌生了吧!这就是上文说过的单例模式。也就是说在程序的声明周期内仅此会返回一个实例的对象。

    可以进行代码追踪getInstance()这个方法,你就会在同文件中看到这个单例模式的方法,返回Container实例。

    接下来会对容器中的make方法进行深度解析。

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

    以上就是ThinkPHP容器之初步解析的详细内容,更多请关注php中文网其它相关文章!

    本文原创发布php中文网,转载请注明出处,感谢您的尊重!
    专题推荐:ThinkPHP
    上一篇:ThinkPHP容器之你不知道的count用法 下一篇:ThinkPHP容器之容器是如何返回实例的
    第13期线上培训班

    相关文章推荐

    • ThinkPHP容器之使用设计模式和反射实现一个简单的案例• ThinkPHP之玩转自己的容器类• ThinkPHP容器之Countable巧用• ThinkPHP容器之你不知道的count用法

    全部评论我要评论

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

    PHP中文网