分享web开发知识

注册/登录|最近发布|今日推荐

主页 IT知识网页技术软件开发前端开发代码编程运营维护技术分享教程案例
当前位置:首页 > 技术分享

PHP设计模式 -- 注册模式

发布时间:2023-09-06 01:55责任编辑:郭大石关键词:PHP

参考文章:https://segmentfault.com/a/1190000007495855

简介

注册树模式又称注册模式注册器模式。注册树模式通过将对象实例注册到一棵全局的对象树上,需要的时候从对象树上采摘的模式设计方法。和果树不同的是,果子只能采摘一次,而注册树上的实例却可以无数次获取。

使用了注册树模式后,对于实例,我们能够更好地统筹管理安排,就像使用全局变量一样的方便实用。

示例:

<?php/** * Class Register 注册树类 */class Register{ ???// 树的枝干-用于储存树上的果实(实例) ???public static $objects; // array ???/** ????* 将实例插入注册树中 ????* ????* @param $alias 对象别名-注册树中的名称 ????* @param $object 对象实例 ????*/ ???public static function set($alias, $object) ???{ ???????self::$objects[$alias] = $object; ???} ???/** ????* 从注册树中读取实例 ????* ????* @param $alias 对象别名-注册树中的名称 ????* ????* @return mixed 返回的对象实例 ????*/ ???public static function get($alias) ???{ ???????if (isset(self::$objects[$alias])) { ???????????return self::$objects[$alias]; ???????} else { ???????????echo ‘对象弄丢了‘; ???????} ???} ???/** ????* 销毁注册树中的实例 ????* ????* @param $alias 对象别名-注册树中的名称 ????*/ ???public static function _unset($alias) ???{ ???????unset(self::$objects[$alias]); ???}}Register::set(‘conf‘, array(‘dbhost‘ => ‘127.0.0.1‘));print_r(Register::get(‘conf‘));

结果:

PHP设计模式 -- 注册模式

原文地址:https://www.cnblogs.com/chenhaoyu/p/9063520.html

知识推荐

我的编程学习网——分享web前端后端开发技术知识。 垃圾信息处理邮箱 tousu563@163.com 网站地图
icp备案号 闽ICP备2023006418号-8 不良信息举报平台 互联网安全管理备案 Copyright 2023 www.wodecom.cn All Rights Reserved