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如何讀取由JavaScript設(shè)置的Cookie
本文主要介紹了PHP讀取由JavaScript設(shè)置的Cookie的方法。具有很好的參考價值。下面跟著小編一起來看下吧2017-03-03
fetchAll()與mysql_fetch_array()的區(qū)別詳解
本篇文章是對fetchAll()與mysql_fetch_array()的區(qū)別進行了詳細的分析介紹,需要的朋友參考下2013-06-06
php判斷某個方法是否存在函數(shù)function_exists (),method_exists()與is_callabl
這篇文章主要介紹了php判斷某個方法是否存在函數(shù)function_exists (),method_exists()與is_callable()區(qū)別與用法,結(jié)合實例形式分析了php function_exists (),method_exists()與is_callable()基本功能、用法、區(qū)別與操作注意事項,需要的朋友可以參考下2020-04-04
PHP 網(wǎng)絡(luò)開發(fā)詳解之遠程文件包含漏洞
由于PHP支持使用相同的函數(shù)(Function)對本地文件和遠程文件進行操作。因此,一些惡意用戶通過強行使網(wǎng)站上的PHP代碼(Code)包含自己的文件來實現(xiàn)執(zhí)行自己腳本的目的。2010-04-04

