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
<?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
相关文章推荐
- php设计模式总结-单件模式
- 魔兽争霸之PHP设计模式-单件模式[Singleton]
- PHP设计模式之单件(Singleton)
- 设计模式-PHP实现单件模式的几种方式
- 结合PHP -----浅谈设计模式之单件模式
- PHP 对象 单态(单例,单件)设计模式 static
- 设计模式-PHP实现单件模式的几种方式
- PHP设计模式4-单件和单态模式
- 设计模式-PHP实现单件模式的几种…
- 设计模式-PHP实现单件模式的几种方式
- 初识PHP设计模式--单例模式
- 【PHP】设计模式--单例模式
- PHP设计模式系列(十三):备忘录模式
- php单件模式结合命令链模式使用说明
- [php]php设计模式 DAO(数据访问对象模式)
- 设计模式--创建型-SINGLETON(单件)
- C++设计模式-单件
- PHP 设计模式之 — 单例模式
- PHP设计模式-观察者
- php中的设计模式之--迭代器模式