您的位置:首页 > 编程语言 > PHP开发

php设计模式-----单件模式

2009-04-03 17:45 344 查看
php单件模式即实现:一个类仅有一个实例。

<?php
class Db{
private static $instance = NULL;

private function __construct(){}

public static function getInstance(){
if (self::$instance == NULL)
{
self::$instance = new Db();
}
return self::$instance;
}

private function __destruct(){}

public function sayHi(){
return "Hi";
}
}

//调用
$db = new Db(); //错误
$db = Db::getInstance();//正确
?>

或者提供一个singleton类,然后通过调用getInstance方法,可以为任何一个类生产出一个实例来。

class singleton{
function getInstance($class){
static $instances = array();
if(!array_key_exists($class,$instances)){
$instances[$class] = &new $class;
}
$instance = $instances[$class];

return $instance;
}
}

class People{
function sayHi(){
return 'Hello i am a people?';
}
}

echo "<br />";
echo singleton::getInstance('People')->sayHi();

本文出自 “风吹过的夏天” 博客,请务必保留此出处http://katrina.blog.51cto.com/709863/145803
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: