單例模式主要使用於數據庫的連接, 確保數據庫一個類只有一個實例, 並且向整個系統提供這個實例。從而避免new操作消耗資源, 同時避免數據庫出現too many connection信息.
要點有三個: 1. 必須只有一個實例。 2. 必須自動創建這個實例。 3. 必須向整個系統提供這個實例。
復制代碼 代碼如下:
<?
class mysql{
privete static $instance ;//保存實例
//構造函數聲明為private, 防止直接創建對象
privete function __construct(){
// 實例化
}
//單例方法, 判斷是否已經實例化,只實例化一次
public static function getInstance (){
if(!isset( self::$instance )){
self ::$instance = new self();
}
return self:: $instance;
}
//防止克隆對象
private function __clone (){
trigger_error ("not allow to clone.");
}
function test(){
echo "test" ;
}
}
$conn = mysql::getInstance ();
$conn->test ();
?>