目前正在学习php,这是一个 单例模式的设计思想,刚学php,写的可能不够严谨,可是仍是 发出来 共享下 代码:php
<?php
header("content-type:text/html;charset=utf-8");
//单例模式(只能实例化一个对象),三私一公
class p {
private static $instance; //私有静态属性,保存实例
private function __construct(){ //私有方法,保证在类外不能经过new来 实例化
}
public static function getInstance(){ //公有静态方法,在类内得到对象,进行判断,确保只能实例化一个对象
if(!is_object(self::$instance)) {
self::$instance = new P;
}
return self::$instance;
}
private function __clone(){ //私有克隆方法,确保在类外 克隆出 新对象。
}
}
$obj1 = p::getInstance();
$obj2 = p::getInstance();
$obj3 = p::getInstance();
//$obj3 = clone $result2;
var_dump($obj1,$obj2,$obj3); //print: object(p)#1 (0) { } object(p)#1 (0) { } object(p)#1 (0) { } , 实例ID一直为1
?>html