php物件導向開發之 單例模式

2021-06-12 05:01:01 字數 781 閱讀 9556

php的全域性變數給程式設計帶來了很大的靈活性,但全域性變數的不受約束性也帶來了很大的隱患。單例模式可以很好的替代全域性變數。

假設有一朵花,每個人見到都會去澆花,然後再欣賞它。

class flower

public function look()

}$a=new flower();//將輸出:2013-01-08 09:37:54澆了花

echo $a->look();//將輸出:一朵美麗的花

$b=new flower();//將輸出:2013-01-08 09:37:54澆了花

echo $b->look();//將輸出:一朵美麗的

可見,要是人越來越多,花早晚會被淹死,我們需要的是,只要第乙個看到花人澆了花便可,其他人不需要澆花。

class flower

public static function getinstance()

return self::$instance; }

public function look()

}$a=flower::getinstance();//將輸出:2013-01-08 09:52:43澆了花

echo $a->look();//將輸出:一朵美麗的花

$b=flower::getinstance();//不會輸出

echo $b->look();//將輸出:一朵美麗的

單例模式適用與只需獲得乙個相同的例項的環境,比如說 mysql資料庫的連線和其他操作。

PHP物件導向 單例模式

單例模式 singleton pattern 單例模式 singleton pattern 是最簡單的設計模式之一。這種型別的設計模式屬於建立型模式,它提供了一種建立物件的最佳方式。這種模式涉及到乙個單一的類,該類負責建立自己的物件,同時確保只有單個物件被建立。這個類提供了一種訪問其唯一的物件的方式...

Php物件導向 單例模式

php物件導向 單例模式 保證類只有乙個例項 1.如何可以解決乙個類可以被無限地例項化?new,就能例項化一次,怎麼去限制,使用者不能無限次地new?將構造方法私有化。所有外部的new都操作失敗 class mysqldb private function construct 2.一旦構造方法私有化...

php物件導向之單例模式 125

燕十八 燕十八 公益php講堂 論 壇 微 博 yy頻道 88354001 筆記部分 單例模式 先看場景 多人協同開發,都要呼叫mysql類的例項 如果用svn知道,好多人一起開發,再提交各自的檔案.a mysql new mysql mysql query.測試通過 b db new mysql ...