【辫儿哥大白话】到底什么是PHP设计模式?[基础篇] —— 注册树模式

怎甘沉沦 提交于 2020-01-20 01:54:51
本文适合对PHP语言有基本基础的童鞋食用,配合框架研究,基础实践效果更佳~
个人整理,心得体会,欢迎讨论指导.

这学PHP语言学到已经程度,是不是已经受够了基础的原生开发瞎乱写,模块随意乱丢的情况啊?有些有强迫症的童鞋肯定忍不住!那有没有一套规则来使这些杂乱无章的调用变得井井有条呢?来来来,一起研究一下奥。
在这里插入图片描述

注册树模式使用场景

假设我们现在是一家 建筑工程队 好不容易接到一个活儿,要去盖一个楼!但是俺们现在手里没有工具,那咋办,就要赶紧去 买工具 ,买钉子锤子大电钻,等我们工具买齐了之后,准备开始干活儿了~结果已经过去一个星期了,人家直接找到别人去承包工作了。那么假如我们 提前把工具准备好 是不是就可以避免这个问题了!其中 工具 就相当于我们需要New创建的Model类的 实例

注册树模式的实现

首先我们新建一个 “register.php” 的注册树处理文件
在这里插入图片描述
首先注册树模式的主要设计思路是 将一些对象注册到全局树种,使之可以再任意地方去调用这个对象 ,我们在段代码中 其中的 $objects 便是一个全局的注册树,所有要使用的Model类对象均存放在这里树中那,那么使用这种设计模式之后在任意地方便可直接使用树中的 get() 方法调取。

$db = Register::get('db1');  //调取系统定义好的db1类对象

不过有一点要注意:
使用这种设计模式时一定要在系统初始化的环节中,将所需要的类对象全部都set()至全局注册树$objects中。

总结

前两种设计模式(工厂模式,单例模式)中有一个缺点:必须要去 new 实例化对象。
注册树模式的主要设计思路就是将所有要用到的类对象,全部实现整理至全局注册树中,以实现在全局中的调用。
工厂模式,单例模式,注册树模式三种设计模式为PHP三种最基本的模式。
其中 Laravel 框架将设计模式用到了极致(有兴趣的童鞋可以了解一下)

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!