利用好PHP5.3的新特性,实现单例模式_PHP教程
class MOrder extends SModel{
protected static $handle; //单例句柄
private function __construct(){
//something
}
/**
* 获取本类单例的方法,公开
*
* @return MOrder
*/
public static function instance() {
if(self::$handle){
return self::$handle;
}
$class = __CLASS__;
self::$handle = new $class();
return self::$handle;
}
//otherthing
}
5.3增加延迟静态绑定(这个词真别扭)
代码实现如下
class SModel {
/**
* 获取单例句柄,返回具体模型类的实例对象
*/
protected static function instance() {
if(static::$handle){
return static::$handle;
}
$class = get_called_class();
static::$handle = new $class();
return static::$handle;
}
//父类something
}
class MGoods extends SModel{
/**
* 获取本类单例的方法,公开
* @return MGoods
*/
public static function instance(){
return parent::instance();
}
protected static $handle; //单例句柄
protected function __construct(){
//something
}
//otherthing
}
通过修改,子类的实现代码减少一部分,转由父类实现
实话说,仍很麻烦,如果PHP自己实现singleton就好了.
上一篇: Oracle获取数据文件目录的方法
推荐阅读
-
利用好PHP5.3的新特性,实现单例模式
-
PHP基于单例模式实现的数据库操作基类,php例模式数据库_PHP教程
-
PHP基于单例模式实现的数据库操作基类,php例模式数据库_PHP教程
-
利用好PHP5.3的新特性,实现单例模式_PHP教程
-
php单例模式的实现_PHP教程
-
PHP基于单例模式实现的mysql类,phpmysql类_PHP教程
-
PHP基于单例模式实现的mysql类,phpmysql类_PHP教程
-
PHP中数据库单例模式的实现代码分享,php数据库_PHP教程
-
php实现设计模式中的单例模式详解,php设计模式详解_PHP教程
-
PHP单例模式是什么 php实现单例模式的方法,php模式_PHP教程