当前位置: 首页 > news >正文

长沙网站设计认准智优营家京东优惠劵网站怎么做

长沙网站设计认准智优营家,京东优惠劵网站怎么做,西安网站开发有哪些公司,网站地图制作一、什么是注册树模式注册树模式又叫注册模式、注册器模式。注册树模式是将经常使用到的对象实例挂到一颗全局的树上#xff0c;需要使用时从数树上取出即可。举个栗子#xff1a;有一个空的工具箱。需要维修东西#xff0c;因此买了扳手和螺丝刀等工具#xff0c;将它们放…一、什么是注册树模式注册树模式又叫注册模式、注册器模式。注册树模式是将经常使用到的对象实例挂到一颗全局的树上需要使用时从数树上取出即可。举个栗子有一个空的工具箱。需要维修东西因此买了扳手和螺丝刀等工具将它们放到空的工具箱中。1、把工具放到工具箱中可以理解为对象上树2、需要某个或某些工具时从工具箱中取出来可以理解为获取对象树中的对象3、使用工具去维修物品可以理解为使用对象注册树模式不在二十四种设计模式当中但它是一个非常实用的设计模式如Laravel、ThinkPHP5.1/6都使用到了它。 理解注册树模式对于去理解框架源码非常有帮助。二、代码实现Singleton.php?php /*** 单例模式*/class Singleton{private static $instance  null;private function __construct() {}private function __clone() {}private function __wakeup() {}/*** getInstance 唯一获取实例对象的静态方法** param  String $className 类名* return object 唯一实例对象*/public static function getInstance($className){// 类名首字母大写$className  ucfirst($className);// 判断实例对象是否是该类的实例如果是说明已经实例化// 则直接返回if (self::$instance instanceof $className) {return self::$instance;}// 若不是该类的实例则还没有进行实例化则进行类实例return self::$instance  new $className();}}Factory.php?php /*** 工厂模式*/class Factory{/*** make 生产对象** param  string $className 类名* return object 实例对象*/public static function make($className){return Singleton::getInstance($className);}}Register.php?php /*** 注册树模式*/class Register{// 对象树池数组private static $objects  [];/*** set 设置对象入对象树池** param  string $alias  对象别名* param  object $object 对象* return [type]         [description]*/public static function set($alias , $object){// 将对象挂到对象树池子上self::$objects[$alias]  $object;}/*** get 取出对象** param  string $alias 对象别名* return object 对象实例*/public static function get($alias){// 从对象树池中取出对象return self::$objects[$alias];}/*** destroy 销毁对象** param  string $alias 对象别名*/public static function destroy($alias){unset($objects[$alias]);}}User.php?php // 普通用户类class User{public function say(){return 啊哈哈哈揣摩看看~~~我是怎么出来的~~~;}}Index.php?php include ./Singleton.php;include ./Factory.php;include ./Register.php;include ./User.php;class IndexController{public function index(){// 将对象挂载到对象树池中Register::set(user , Factory::make(User));// 从对象树池中获取对象$user  Register::get(user);// 调用user类的方法echo $user-say();}// 测试实例多个对象是否唯一public function test(){Register::set(user1 , Factory::make(User));Register::set(user2 , Factory::make(User));$user   Register::get(user);$user1  Register::get(user1);$user2  Register::get(user2);// 可见只有一个实例对象var_dump($user);    // object(User)#2 (0) { }var_dump($user1);   // object(User)#2 (0) { }var_dump($user2);   // object(User)#2 (0) { }}}$idx  new IndexController();echo $idx-index();$idx-test();我是小白期待和优秀的你一起同行!小白2020年10月13日转载感谢您对自如初博客网站的认可所有文章均属原创文章技术类文章转载请注明出处“自如初博客”文学类文章请带文本链接地址否则视为侵权很赞哦(3)
http://www.zqtcl.cn/news/228379/

相关文章:

  • 室内设计者联盟官网哈尔滨百度搜索排名优化
  • 网站公司打电话来说做网站天下信息网
  • 汕头制作企业网站百度舆情监测平台
  • 怎样跟网站做优化呢火狐搜索引擎
  • 如何做网站的维护和推广水利网站建设管理汇报
  • 申请网站就是做网站吗怎样凡科建设网站
  • 怎样做吓人网站网页制作成品图
  • 前端的网站重构怎么做做网站用的编程语言
  • 长沙网站设计多少钱一个月百度网盘app下载安装电脑版
  • 你好南京网站网站开发 seo
  • wordpress 文章延时加载seo软件系统
  • 网站建设与运营答案新浪网站首页
  • 网站怎么做关键词库如何建免费的企业网站
  • 跟老外做网站网络系统管理与维护机考
  • 网站推广方案范例江西南昌小程序开发
  • 烘焙类网站开发时代背景ppt素材模板免费下载
  • 如何制作多网页网站广州品牌seo推广
  • 域名怎么解析到网站什么是asp网站
  • 网站开发的税率做网站文案
  • 网站模板上传工具如何介绍自己设计的网页
  • 河北网站建设价格低国内做外单的网站有哪些
  • wordpress Apache升级优化营商环境的意义
  • 单页式网站系统wordpress自定义字段怎么用
  • 南宁网站设计要多少钱修改wordpress中的 功能 小工具
  • 南昌高端网站开发费用表域名价格排行
  • 怎么接网站开发外包中国观鸟记录的网站架构
  • 青海省住房和城乡建设厅的官方网站网站举报能不能查到举报人
  • dw做的网站如何上传云服务器网址生成app一键生成器
  • 山西建设厅网站密钥房山营销型网站建设
  • 网站空间多少钱哪里接单做网站