|
單例類至少擁有以下三種公共元素:
必須擁有一個(gè)構(gòu)造函數(shù),并且必須被標(biāo)記為private。
擁有一個(gè)保存類的實(shí)例的靜態(tài)成員變量。
擁有一個(gè)訪問這個(gè)實(shí)例的公共的靜態(tài)方法
具體使用方面,我在下面php實(shí)例中注釋的很清楚:
復(fù)制代碼 代碼如下:
<?php
/**
* by www.phpddt.com
*/
class Mysql{
//該屬性用來(lái)保存實(shí)例
private static $conn;
//構(gòu)造函數(shù)為private,防止創(chuàng)建對(duì)象
private function __construct(){
$this->conn = mysql_connect('localhost','root','');
}
//創(chuàng)建一個(gè)用來(lái)實(shí)例化對(duì)象的方法
public static function getInstance(){
if(!(self::$conn instanceof self)){
self::$conn = new self;
}
return self::$conn;
}
//防止對(duì)象被復(fù)制
public function __clone(){
trigger_error('Clone is not allowed !');
}
}
//只能這樣取得實(shí)例,不能new 和 clone
$mysql = Mysql::getInstance();
?>
php技術(shù):php單例模式實(shí)現(xiàn)(對(duì)象只被創(chuàng)建一次),轉(zhuǎn)載需保留來(lái)源!
鄭重聲明:本文版權(quán)歸原作者所有,轉(zhuǎn)載文章僅為傳播更多信息之目的,如作者信息標(biāo)記有誤,請(qǐng)第一時(shí)間聯(lián)系我們修改或刪除,多謝。