WEB开发笔记 www.chhua.com 每日练习 PHP设计模式注册表模式

注册表模式其实是一个单例模式,注册表类提供静态方法(或单例对象的实例化方法)来让其它对象访问其中的数据(通常是对象)。整个系统中的每个对象都可以访问这些数据对象。

下面是基本的注册表类的代码:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
 
<?php
class Registry {
	private static $instance;
	private $request;//注册表的内容类
 
	private function __construct(){}//本类,不可实例化
 
	static function instance(){//单例类,通过这个方法返回实例
		if (!isset(self::$instance)){self::$instance=new self();}
		return self::$instance;
	}
 
	function getRequest(){//返回注册的内容类
		return $this->request;
	}
 
	function setRequest(request $request){//设置注册的内容类
		$this->request=$request;
	}
}
 
class request{//被 注册的类
	private $webname="WEB开发笔记";
	private $url="www.chhua.com";
 
	function getName(){
		echo $this->url;//输出www.chhua.com
	}
}//被注册的空类
 
//使用
 
$reg=Registry::instance();
$reg->setRequest(new request());
 
$request=$reg->getRequest();
$request->getName();//输出www.chhua.com
?>

注册表的作用是提供系统级别的对象访问功能。

自由转载,转载请注明: 转载自WEB开发笔记 www.chhua.com

本文链接地址: PHP设计模式——注册表模式 http://www.chhua.com/web-note1574

相关笔记

更多