單例(Singleton)模式和不常見的多例(Multiton)模式控制著應用程序中類的數量
基於Singleton的特性
該單一根對象沒有封裝任何系統功能
代碼示例
<?php
class SingletonExample{
private function __construct(){}//防止直接實例化
public static function getInstance(){ //不與任何對象有關聯
static $instance=null; //調用此函數的所有代碼共享該變量
if($instance==null){
$instance=new SingletonExample();
}
return $instance;
}
}
$obj
$obj
var_dump($obj
?>
Multiton與singleton相似
對於給定的關鍵值只會存在唯一的對象實例
示例
<?php
class MultitonExample{
private function __construct(){}//防止直接實例化
public static function getInstance($key){
static $instance=array();
if(!array_key_exists($key
$instance[$key]=new SingletonExample();
}
return $instance($key);
}
};
?>
From:http://tw.wingwit.com/Article/program/PHP/201311/21166.html