轉載請注明作者和出處:http://www.lxweimin.com/p/625636bff086
運行平臺: Windows
php版本: php7.0
作者簡介: 一個本該成為游戲職業選手卻被編程耽誤的程序員
單例模式:
很多人都聽過,有一個說法,三私一公,只要滿足這個特點,那么一般他就是單例模式了
①、私有靜態屬性,又來儲存生成的唯一對象
②、私有構造函數
③、私有克隆函數,防止克隆——clone
④、公共靜態方法,用來訪問靜態屬性儲存的對象,如果沒有對象,則生成此單例
,也就是說,全場只能有一個被實例化的對象,這在數據庫連接是經常被用到
//單例
class Singleton{
//創建靜態私有的變量保存該類對象
static private $instance;
//參數
private $config;
//防止直接創建對象
private function __construct($config){
$this -> config = $config;
echo "我被實例化了";
}
//防止克隆對象
private function __clone(){
}
static public function getInstance($config){
//判斷$instance是否是Singleton的對象
//沒有則創建
if (!self::$instance instanceof self) {
self::$instance = new self($config);
}
return self::$instance;
}
public function getName(){
echo $this -> config;
}
}
$db1 = Singleton::getInstance(1);
$db1 -> getName();
echo "<br>";
$db2 = Singleton::getInstance(4);
$db2 -> getName();