插件窝 干货文章 ThinkPHP容器之注册树模式

ThinkPHP容器之注册树模式

padding margin bottom px 573    来源:    2024-10-27

学习容器源码之前必须要学会另外一个设计模式注册树模式,这种设计模式也是容器的一个核心了。

二、注册树模式

为什么在这里说这个注册树模式,因为在框架中注册树模式就是一个主导位置,所以必须去了解它!

那什么是注册树模呢!

  • 注册树模式就是将对象实例注册到一颗树上(这里的树可不是真的树啊!就是注册到一个全局的属性里边)
  • 然后可以通过内部方法从全局的树上获取对应的对象实例。

这样说的话肯定也不能更好的理解,接下来咔咔带大家看一个简单的案例来简单的了解一下。

一个注册树模式需要的东西就是四个,注册树的池子,将对象挂载到注册池里,从注册池里获取对象,从注册池里卸载对象。

如下图是咔咔写的一个简单的注册树模式。

代码如果看不懂的就需要去补补基础了哈!

在这里插入图片描述接下来在到同一目录创建一个TestTree文件

在这里插入图片描述来到控制器测试写的注册树模式是否有问题

在做测试的时候一定要注意命名空间问题哈!这里的kaka目录是之前在类的自动加载哪里配置的,如有不会的可以去第一期文章查看。

这里就相当于先把TestTree这个类实例化出来

然后使用注册树模式把这个实例注册到object树池子中

最后使用get方式将这个类获取出来就可以直接调用TestTree中的方法了。

在这里插入图片描述最后看一下最终打印结果,结果就是TestTree类中getTreeContent方法的返回值。

在这里插入图片描述注册树模式就是以上咔咔说明的这些内容,就是不去针对源码学习,这些内容也是我们必须要去学会使用的。

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

            二、注册树模式