文档章节

PHP 注册表模式

eatnothing
 eatnothing
发布于 2015/11/24 19:35
字数 161
阅读 95
收藏 0
注册表模式
**/
class Registry{
	
	static private $_store = array();
	static public function add($object,$name = null){
		$name = (!is_null($name))?:get_class($object);
		//回去对象的名称
		$name = strtolower($name);
		//将对象的名称转换为小写
		$return  = null;
		if(isset(self::$_store[$name])){
			$return = self::$_store[$name];
			//echo $return;
		}
		self::$_store[$name] = $object;
		//var_dump(self::$_store[$name]);
		return $return;
	}
	static public function get($name){
		//查询当前对象中是否包含以$name 命名的对象
			if(!self::contains($name)){
				throw new Exception("Object does not exist in registry");
			}
			return self::$_store[$name];
		
	}
	static function contains($name){
		
		if(!isset(self::$_store[$name])){
			return false;
		}
		return true;
	}
	
	
	static public function remove($name){
		if(self::contains($name)){
			unset(self::$_store[$name]);
		}
	}
	
}
class qq{
	
}
$qq = new qq();
Registry::add($qq);
//var_dump($data);
$data = Registry::get('qq');
var_dump($data);

 

© 著作权归作者所有

eatnothing
粉丝 39
博文 128
码字总数 68736
作品 0
昌平
程序员
私信 提问
基于 PHP 的内容管理框架--Pimcore

Pimcore是一个纯粹的基于 Zend Framework, 使用PHP 5编写的面向对象的系统。它的结构遵循基本的 MVC (模型视图控制器) 模式, 以及所有可以用Pimcore 中的 Zend Framework 的 API (应用程序接...

匿名
2010/11/21
7.3K
0
微服务实战(四):服务发现的可行方案以及实践案例

本系列七篇文章列表如下: 微服务实战(一):微服务架构的优势与不足 微服务实战(二):使用API Gateway 微服务实战(三):深入微服务架构的进程间通信 微服务实战(四):服务发现的可行...

CraneH
2016/06/30
1K
0
服务发现的可行方案以及实践案例[转]

这是关于使用微服务架构创建应用系列的第四篇文章。第一篇介绍了微服务架构的模式,讨论了使用微服务架构的优缺点。第二和第三篇描述了微服务架构内部的通讯机制。这篇文章中,我们将会探讨服...

强子哥哥
2016/06/14
134
0
服务发现的可行方案以及实践案例

为什么要使用服务发现? 假设我们写的代码会调用 REST API 或者 Thrift API 的服务。为了完成一次请求,代码需要知道服务实例的网络位置(IP 地址和端口)。运行在物理硬件上的传统应用中,服...

银月光海
2016/07/27
80
0
Chris Richardson微服务翻译:微服务架构中的服务发现

Chris Richardson 微服务系列翻译全7篇链接: 微服务介绍 构建微服务之使用API网关 构建微服务之微服务架构的进程通讯 微服务架构中的服务发现(本文) 微服务之事件驱动的数据管理 微服务部...

butterfly100
2017/11/01
0
0

没有更多内容

加载失败,请刷新页面

加载更多

小知识:讲述Linux命令别名与资源文件的区别

别名 别名是命令的快捷方式。为那些需要经常执行,但需要很长时间输入的长命令创建快捷方式很有用。语法是: alias ppp='ping www.baidu.com' 它们并不总是用来缩短长命令。重要的是,你将它...

老孟的Linux私房菜
47分钟前
3
0
《JAVA核心知识》学习笔记(6. Spring 原理)-5

它是一个全面的、企业应用开发一站式的解决方案,贯穿表现层、业务层、持久层。但是 Spring 仍然可以和其他的框架无缝整合。 6.1.1. Spring 特点 6.1.1.1. 轻量级 6.1.1.2. 控制反转 6.1.1....

Shingfi
48分钟前
5
0
Excel导入数据库数据+Excel导入网页数据【实时追踪】

1.Excel导入数据库数据:数据选项卡------>导入数据 2.Excel导入网页数据【实时追踪】:

东方墨天
56分钟前
5
1
正则表达式如何匹配一个单词存在一次或零次并且不占捕获组位置

正则表达式如何匹配一个单词存在一次或零次并且不占捕获组位置 今天要用正则表达式实现匹配一个词出现一次或者不出现的情况,但是又不仅仅是这么简单的需求。先详细说下我这种情况吧,也许有...

Airship
今天
6
0
第八讲:asp.net C# web 读取文件

本讲主要讲解如何在asp.net页面上传文件。 首先,前台页面: 其次,后台页面: 结果: 1、前台效果: 2、后台结果:

刘日辉
今天
5
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部