`
xitong
  • 浏览: 6191852 次
文章分类
社区版块
存档分类
最新评论

php——数据库连接的伪单例模式代码

 
阅读更多

各位redis群的同学,帮忙查看指正一下代码,多谢了,希望看到各位的改进意见

<?php
class Singleton
{
	// MYSQL数据库连接信息
	const MYSQLHOSTNAME = "127.0.0.1";
	const MYSQLCHARSET = "utf8";
	private static $instances = array(); //伪类单例
	private $db; //数据库连接句柄
	

	/**
	 * Description:私有化构造函数,防止外界实例化对象
	 */
	private function __construct($dbname, $username, $password)
	{
		//连接数据库
		$this->db = new mysqli(self::MYSQLHOSTNAME, $username, $password, $dbname);
		$this->db->set_charset(self::MYSQLCHARSET);
		if (mysqli_connect_errno())
		{
			throw new CircleMysqlException("error", 1000);
		}
	}
	
	/**
	 * Description:私有化克隆函数,防止外界克隆对象
	 */
	private function __clone()
	{
	}
	
	/**
	 * Description:静态方法,单例访问统一入口
	 * @return Singleton:返回应用中的唯一对象实例
	 */
	public static function GetInstance($dbname, $username, $password)
	{
		$hash = (string) $dbname;
		if (!isset(self::$instances[$hash]))
		{
			self::$instances[$hash] = new self($dbname, $username, $password);
		}
		return self::$instances[$hash];
	}
	
	/**
	 * Description:获取数据库的私有方法的连接句柄
	 */
	public function GetDbConnect()
	{
		return $this->db;
	}
	
	/**
	 * Description:关闭数据库链接的方法
	 */
	public function CloseDbConnect($dbname)
	{
		$hash = (string) $dbname;
		self::$instances[$hash]->db->close();
		unset(self::$instances[$hash]);
	}
}


分享到:
评论

相关推荐

    PHP单例模式访问数据库

    PHP单例模式访问数据库 php 单例模式 数据库 设计模式

    单例模式的多数据库连接池完整版

    单例模式的多数据库连接池完整版 可同时支持目前市面上各种流行的数据库连接 包中自带doc描述,和MSSQL2005的连接示例。 下载后即可用!

    PHP单例设计模式,连接多数据库源码

    PHP单例设计模式,连接多数据库源码 单例模式的三个特点 1: 一个类只能有一个实例 2: 它保修自行创建这个实例 3: 必须自行向整个系统提供这个实例. 单例模式中主要的角色 Singleton定义一个Instance操作,允许客户...

    单例模式PHP实现代码类.zip

    介绍一个单例模式PHP实现代码类,getInstance()方法必须设置为公有的,必须调用此方法,对象方法不能访问普通的对象属性,所以$_instance需要设为静态的

    php单例模式和工厂模式

    php单例模式php单例模式php单例模式php单例模式

    设计模式之PHP项目应用——单例模式设计Memcache和Redis操作类源码

    1)程序功能:单例模式设计Memcache和Redis操作类,采用PHP编写。 2)程序详解地址:http://blog.csdn.net/clevercode/article/details/46410055。 3)原创作品,出自"CleverCode的博客",分类为《设计模式之PHP项目...

    php设计模式之单例模式代码_.docx

    php设计模式之单例模式代码_.docx

    php使用单例模式实现mysql类.zip

    分享一个php使用单例模式实现mysql类,封装mysql操作类,包括连接功能,及查询功能,封装getAll,getRow,getOne,afftect_rows()方法。

    设计模式—— 七 :单例模式

    单例模式的实现饿汉式懒汉式线程安全的懒汉式登记式单例模式的优缺点单例模式的优点单例模式的缺点 单例模式是23个模式中比较简单的模式,应用也非常广泛 什么是单例模式? 单例模式的定义: Ensure a class ...

    php单例模式实例

    如果说php是一门面向对象编程的话,那么设计模式就是它的灵魂,其中单例模式就是设计模式的重中之重了,分享鄙人一直用的单例模式。

    PHP实现单例模式建立数据库连接的方法分析

    本文实例讲述了PHP实现单例模式建立数据库连接的方法。分享给大家供大家参考,具体如下: 理解php单例模式 一、什么是单例 wiki百科:单例模式,也叫单子模式,是一种常用的软件设计模式。 在应用这个模式时,单例...

    OOP单例模式和工厂模式

    模式就像是OOP开发人员的配方,每种模式都提供了所需的成分。模式对OOP开发人员尤其有用,因为它有助于创建稳定的API,...本章将介绍两种常用的模式:单例模式和工厂模式。前者被称为类的职责,后者被称为类的多态性。

    PHP 单例模式解析和实战

    PHP 单例模式解析和实战 PHP 单例模式解析和实战 PHP 单例模式解析和实战

    php基于单例模式编写PDO类

    引入了单例模式来保证在全局调用中不会重复实例化这个类,降低系统资源的浪费,一个对象...php的应用主要在于数据库应用, 所以一个应用中会存在大量的数据库操作, 使用单例模式, 则可以避免大量的new 操作消耗的资源。

    php使用单例模式实现mysql类

    一个php使用单例模式实现mysql类,封装mysql操作类,包括连接功能,及查询功能,封装getAll,getRow,getOne,afftect_rows()方法。

    PHP单例模式数据库连接类与页面静态化实现方法

    本文实例讲述了PHP单例模式数据库连接类与页面静态化实现方法。分享给大家供大家参考,具体如下: 数据库test中数据表account内容 单例模式的数据库连接类 db.php &lt;?php //单例模式的数据库连接 class DB { //...

    PHP单例模式详解及实例代码

    PHP单例模式详解 单例模式的概念 单例模式是指整个应用中某个类只有一个对象实例的设计模式。具体来说,作为对象的创建方式,单例模式确保某一个类只有一个实例,而且自行实例化并向整个系统全局的提供这个实例。它...

    PHP中数据库单例模式的实现代码分享

    主要介绍了PHP中数据库单例模式的实现代码分享,本文先是讲解了单例模式的一些知识,然后给出了数据库单例模式实现代码,需要的朋友可以参考下

    面向对象单例封装mysqli数据库

    本页面提供面向对象单例封装mysqli数据库 面向对象单例封装mysqli数据库 确定可用

Global site tag (gtag.js) - Google Analytics