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

深入理解PHP:高级技巧、面向对象与核心技术(原书第3版) -- 设计模式之单一模式

2017-09-17 21:30 816 查看
// 设计思想:只能创建一个单一的实例,类似于数据库链接对象,整个应用的配置对象。
class Config
{
static private $_instance = NULL;
private $_setting = [];

private function __construct()  // 设计为私有,可以防止用户多次实例化。
{
}

private function __clone()  // 设计为私有,防止用户克隆出多个对象,最终还是为只能创建一个实例。
{
}

static function getInstance()   // 单例实现的标志 getInstance ,没有就创建一个,有则返回存在实例。
{
if (self::$_instance == NULL) {
self::$_instance = new Config();
}
return self::$_instance;
}

function set($index, $value)
{
$this->_setting[$index] = $value;
}

function get($index)
{
return $this->_setting[$index];
}
}
$C = Config::getInstance();        // 一般单例模式的实例对象建议使用大写字母,类似常量
$C->set('name','michael');
echo $C->get("name");
// 输出: michael
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐