<?php
/**
* 單例模式,用於爲一個類生成一個唯一的對象。
*
* 1,私有的靜態變量存儲單例對象
* 2,私有的構造函數,防止對象實例化
* 3,私有的克隆函數,防止對象被克隆
* 4,公有的獲得單例對象函數
*
* 使用場景:數據庫連接
*
**/
class Single
{
// 私有的靜態變量存儲單例對象
private static $_instance;
/**
* 私有的構造函數,防止實例化
**/
private function __construct() {
}
/**
* 私有的克隆函數,防止對象克隆
**/
private function __clone() {
}
/**
* 公有的獲得單例對象函數的獲得對象函數
**/
public function getInstance() {
if ( !isset(self::$_instance) ) {
self::$_instance = new self();
}
return self::$_instance;
}
}
// 1,直接實例化,提示錯誤
// $single = new Single();
// 2,通過獲得實力方法
$single = Single::getInstance();
var_dump($single);
// 3,克隆對象,提示錯誤
// $single_clone = clone $single;
?>
php 單例模式
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.