【PHP】設計模式--單例模式
阿新 • • 發佈:2019-01-23
單例模式按字面來看就是某一個類只有一個例項,這樣做的好處還是很大的,比如說資料庫的連線,我們只需要例項化一次,不需要每次都去new了,這樣極大的降低了資源的耗費。
單例類至少擁有滿足以下三個要求:
- 必須擁有一個建構函式,並且必須被標記為private。
- 擁有一個儲存類的例項的靜態成員變數。
- 擁有一個訪問這個例項的公共的靜態方法
簡單的可以按”三私一公”來記憶。
<?php
class Mysql{
//該屬性用來儲存例項
private static $conn;
//建構函式為private,防止建立物件
private function __construct(){
$this->conn = mysql_connect('localhost','root','');
}
//建立一個用來例項化物件的方法
public static function getInstance(){
if(!(self::$conn instanceof self)){
self::$conn = new self;
}
return self::$conn ;
}
//防止物件被複制
private function __clone(){
//trigger_error('Clone is not allowed !');
}
}
//只能這樣取得例項,不能new 和 clone
$mysql = Mysql::getInstance();
?>