PHP設(shè)計(jì)模式 注冊表模式
更新時(shí)間:2012年02月05日 21:50:43 作者:
注冊表模式其實(shí)是一個(gè)單例模式,注冊表類提供靜態(tài)方法(或單例對象的實(shí)例化方法)來讓其它對象訪問其中的數(shù)據(jù)(通常是對象)。整個(gè)系統(tǒng)中的每個(gè)對象都可以訪問這些數(shù)據(jù)對象
下面是基本的注冊表類的代碼:
<?php
class Registry {
private static $instance;
private $request;//注冊表的內(nèi)容類
private function __construct(){}//本類,不可實(shí)例化
static function instance(){//單例類,通過這個(gè)方法返回實(shí)例
if (!isset(self::$instance)){self::$instance=new self();}
return self::$instance;
}
function getRequest(){//返回注冊的內(nèi)容類
return $this->request;
}
function setRequest(request $request){//設(shè)置注冊的內(nèi)容類
$this->request=$request;
}
}
class request{//被 注冊的類
private $webname="WEB開發(fā)筆記";
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
?>
注冊表的作用是提供系統(tǒng)級(jí)別的對象訪問功能。
復(fù)制代碼 代碼如下:
<?php
class Registry {
private static $instance;
private $request;//注冊表的內(nèi)容類
private function __construct(){}//本類,不可實(shí)例化
static function instance(){//單例類,通過這個(gè)方法返回實(shí)例
if (!isset(self::$instance)){self::$instance=new self();}
return self::$instance;
}
function getRequest(){//返回注冊的內(nèi)容類
return $this->request;
}
function setRequest(request $request){//設(shè)置注冊的內(nèi)容類
$this->request=$request;
}
}
class request{//被 注冊的類
private $webname="WEB開發(fā)筆記";
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
?>
注冊表的作用是提供系統(tǒng)級(jí)別的對象訪問功能。
相關(guān)文章
php精確的統(tǒng)計(jì)在線人數(shù)的方法
這篇文章主要介紹了php精確的統(tǒng)計(jì)在線人數(shù)的方法,需要的朋友可以參考下2015-10-10php使用curl模擬多線程實(shí)現(xiàn)批處理功能示例
這篇文章主要介紹了php使用curl模擬多線程實(shí)現(xiàn)批處理功能,結(jié)合實(shí)例形式分析了php使用curl模擬多線程爬取百度與谷歌相關(guān)操作方法,需要的朋友可以參考下2019-07-07PHP中調(diào)用C/C++制作的動(dòng)態(tài)鏈接庫的教程
這篇文章主要介紹了PHP中調(diào)用C/C++制作的動(dòng)態(tài)鏈接庫的教程,文中還簡單地提到了gcc編譯器下動(dòng)態(tài)鏈接庫的制作方法,需要的朋友可以參考下2016-03-03sourcesafe管理phpproj文件的補(bǔ)充說明(downmoon)
在使用vs.php+ sourcesafe管理代碼時(shí),發(fā)現(xiàn)有時(shí)候并不能從vs.net IDE中正確獲取phpproj文件下的所有文件。但從sourcesafe IDE下卻可以。2009-04-04PHP的Yii框架中創(chuàng)建視圖和渲染視圖的方法詳解
這篇文章主要介紹了PHP的Yii框架中創(chuàng)建視圖和渲染視圖的方法詳解,包括CWidget小物件的講解及視圖中渲染另一個(gè)視圖的方法等,需要的朋友可以參考下2016-03-03php實(shí)現(xiàn)簡單的守護(hù)進(jìn)程創(chuàng)建、開啟與關(guān)閉操作
這篇文章主要介紹了php實(shí)現(xiàn)簡單的守護(hù)進(jìn)程創(chuàng)建、開啟與關(guān)閉操作,結(jié)合實(shí)例形式分析了基于pcntl擴(kuò)展的php守護(hù)進(jìn)程類定義、啟動(dòng)及關(guān)閉等相關(guān)操作技巧,需要的朋友可以參考下2019-08-08php專用數(shù)組排序類ArraySortUtil用法實(shí)例
這篇文章主要介紹了php專用數(shù)組排序類ArraySortUtil用法,實(shí)例分析了ArraySortUtil實(shí)現(xiàn)數(shù)組排序的方法與對應(yīng)使用技巧,需要的朋友可以參考下2015-04-04