php设计模式之注册模式

原创
2016/02/12 09:58
阅读数 119
<?php

namespace Tools;

/*注册模式
当你有一组全局对象被全局访问时可能就需要用到注册者模式 (registry),它 提供了在程序中有条理的存放并管理对象 (object)一种解决方案。一个“注册模式”应该提供get() 和 set()方法来存储和取得对象(用一些属性key)而且也应该提供一个isValid()方法来确定一个给定的属 性是否已经设置。 
注册模式通过单一的全局的对象来获取对其它对象的引用 实例:
*/
class Register {
	
	protected static $data = array();

	public static function isValid($key){
		return array_key_exists($key, self::$data);
	}
	
	public static function get($key){
		return self::$data[$key];
	}
	
	public static function set($key,$value){
		self::$data[$key] = $value;		
	}

	public static function _unset($key){
		unset(self::$data[$key]);
	}
}

//写入
\Tools\Register::set("person",array("name"=>"zhangsan","sex"=>1,"age"=>25));

//读取
$person = \Tools\Register::get("person");
print_r($person);

//删除
\Tools\Register::_unset("person");

//是否存在
var_dump(\Tools\Register::isValid("person"));



展开阅读全文
加载中
点击引领话题📣 发布并加入讨论🔥
打赏
0 评论
0 收藏
1
分享
返回顶部
顶部