Rumah  >  Artikel  >  rangka kerja php  >  ThinkPHP容器之注册树模式

ThinkPHP容器之注册树模式

咔咔
咔咔asal
2020-10-10 11:24:011618semak imbas

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

二、注册树模式

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

那什么是注册树模呢!

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Atas ialah kandungan terperinci ThinkPHP容器之注册树模式. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn