/*
注册表模式:
注册表模式其实是一个单例模式,注册表类提供静态方法(或单例对象的实例化方法)来让
其他对象访问其中的数据(通常是对象)。整个系统中的每个对象都可以访问这些数据对象。
*/
/**
*注册表接口
*@author li.yonghuan
*@version 2014.02.12
*/
abstract class Registry {
/**
*获取数据
*@param $key string
*/
abstract function get( $key );
/**
*写入数据
*@param $key string
*@param $value
*/
abstract function set( $key, $val );
}
/**
*注册表类
*@author li.yonghuan
*@version 2014.02.12
*/
class RequestRegistry extends Registry {
/**
*保存的数据列表
*@var array
*/
private $value = array();
/**
*本类实例化对象
*@var object
*/
private static $instance;
/**
*构造方法
*
*/
private function __construct() {
}
/**
*实例化类对象
*
*/
public static function intance() {
if ( !isset(self::$instance) ) {
self::$instance = new self();
}
return self::$instance;
}
/**
*获取数据
*@var $key string
*/
public function get( $key ) {
if ( isset($this->values[$key]) ) {
return $this->values[$key];
}
return null;
}
/**
*写入数据
*@param $key string
*@param $val
*/
public function set( $key, $val ) {
$this->values[$key] = $val;
}
/**
*获取请求
*
*/
public static function getRequest() {
return self::$instance->get('request');
}
/**
*存储请求
*@param $request Request
*
*/
public static function setRequest( \woo\controller\Request $request ) {
return self::$instance->set( 'request', $request );
}
}
php 注册表模式
最新推荐文章于 2021-04-03 19:34:22 发布