一区二区久久-一区二区三区www-一区二区三区久久-一区二区三区久久精品-麻豆国产一区二区在线观看-麻豆国产视频

雞肋的PHP單例模式應(yīng)用詳解

單例模式的要點有三個:
一是某個類只能有一個實例;
二是它必須自行創(chuàng)建這個實例;
三是它必須自行向整個系統(tǒng)提供這個實例。
復(fù)制代碼 代碼如下:
<?php
/* 單例模式舉例,其要點如下:
*
* 1. $_instance 必須聲明為靜態(tài)的私有變量
* 2. 構(gòu)造函數(shù)和克隆函數(shù)必須聲明為私有的,這是為了防止外部程序 new 類從而失去單例模式的意義
* 3. getInstance()方法必須聲明為公有的,必須調(diào)用此方法以返回唯一實例的一個引用
* 4. ::操作符只能訪問靜態(tài)變量或靜態(tài)函數(shù)
* 5. php的單例模式是相對而言的,因為php的解釋運行機制使得每個php頁面被解釋執(zhí)行后,所有的相關(guān)資源都會被回收。
* 也就是說,php在語言級別上沒有辦法讓某個對象常駐內(nèi)存。在php中,所有的變量都是頁面級的,無論是全局變量,
* 還是類的靜態(tài)成員,都會在頁面執(zhí)行完畢后被清空,結(jié)果會重新建立新的對象,這樣也就完全失去了Singleton的意義。
* 不過,在實際應(yīng)用中同一個頁面中可能會存在多個業(yè)務(wù)邏輯,這時單例模式就起到了很重要的作用,有效的避免了重復(fù)
* new 對象(注: new 對象會消耗內(nèi)存資源)這么一個行為,所以我們說php的單例模式是相對而言的
*
*/
class People
{
static private $_instance = NULL;
public $height = '';
public $age = '';
private function __construct()
{
$this->height = '185';
$this->age = 25;
}
private function __clone()
{
//do something
}
static public function getInstance()
{
if(!self::$_instance instanceof self)
{
//echo 'lgh-big';
self::$_instance = new self;
}
else
{
//for testing only
//echo 'gdc-xiaoairener';
}
return self::$_instance;
}
public function getHeight()
{
echo $this->height;
}
public function getAge()
{
echo $this->age;
}
}
function testInstance()
{
People::getInstance()->getAge();
}
//begin to use the class
$lgh = People::getInstance();
$lgh->getHeight();
echo '<br />';
testInstance();
?>

優(yōu)點:單例模式可以避免大量的new操作,因為每一次new操作都會消耗內(nèi)存資源和系統(tǒng)資源
缺點:php中,所有的變量無論是全局變量還是類的靜態(tài)成員,都是 頁面級的,每次頁面被執(zhí)行時,都會重新建立新的對象,都會在頁面執(zhí)行完畢后被清空,這樣似乎php單例模式就沒有什么意義了,所以php單例模式我覺得只 是針對單次頁面級請求時出現(xiàn)多個應(yīng)用場景并需要共享同一對象資源時是非常有意義的。

Why 主站蜘蛛池模板: 久久er精品视频 | 黄色视屏在线免费观看 | 麻豆视频播放 | 91麻豆精品国产自产在线观看一区 | 97成人精品视频在线播放 | 欧美黑人两根巨大挤入 | 亚洲综合色在线观看 | 91在线免费视频观看 | 2021国产精品成人免费视频 | 亚洲成人免费网站 | 免费色视频在线观看 | 91精品国产福利在线观看 | 丁香五月好婷婷深深爱 | 亚洲成a人片77777老司机 | 精品伊人| 91精品宅男在线观看 | 91久久国产精品视频 | 亚洲国产精品婷婷久久久久 | 美国美女一级毛片免费全 | 色综合天天综合中文网 | 免费网站色 | 热久久久久久 | 在线观看一区二区精品视频 | 五月综合激情视频在线观看 | 久久亚洲精品中文字幕二区 | 四虎4hu| 国内精品久久久久影院不卡 | 亚洲青草视频 | 2021最新久久久视精品爱 | 九一国产| 日本高清午夜色wwwσ | 色播99 | 最新欧美精品一区二区三区 | 国产一区二区精品久久 | 国产精品自拍第一页 | 国产高清在线精品 | 韩国美女爽快一级毛片黄 | 在线观看国产情趣免费视频 | 亚洲综合色网站 | 好吊妞视频一区二区 | 欧美亚洲国产另类 |