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