`
兰迪RANDY
  • 浏览: 97948 次
文章分类
社区版块
存档分类
最新评论

PDO单例模型

阅读更多
<?php
/**
 * ipdo.php
 *
 * discription
 *
 * @filename ipdo.php
 * @version  v1.0
 * @update   2011-4-27
 * @author   randy.hong
 * @contact	 homingway@163.com
 * @package  pdo
 */

//DB config
define('DB_HOST',   'localhost');
define('DB_PORT',   '3306');
define('DB_USER',   'root');
define('DB_PASSWD', '123456');
define('DB_CHARSET','utf8');


class IPDO {

    /**
     * The singleton instance
     */
    static public $PDOInstance;

  	/**
  	 * Creates a PDO instance representing a connection to a database and makes the instance available as a singleton
  	 * @return PDO
  	 */
    public function __construct(){
    	$dsn = 'mysql:host='.DB_HOST.';port='.DB_PORT.';dbname='.DB_NAME;
    	$driver_options = array(PDO::MYSQL_ATTR_INIT_COMMAND => "SET NAMES ".DB_CHARSET);
        if(!self::$PDOInstance) {
	        try {
               self::$PDOInstance = new PDO($dsn, DB_USER, DB_PASSWD, $driver_options);
               self::$PDOInstance->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
            } catch (PDOException $e) {
                die($e->getMessage());
            }
    	}
      	return self::$PDOInstance;
    }

}


//使用
$pdo = new IPDO();

?>
分享到:
评论
1 楼 yeaha 2011-08-14  
看起来总有怪怪的感觉

// php-5.3 only
class IPDO {
    static private $instance;

    public function __construct() {
    }

    static public function instance() {
        return self::$instance ?: (self::$instance = new self());
    }
}

相关推荐

    php基于单例模式编写PDO类

    引入了单例模式来保证在全局调用中不会重复实例化这个类,降低系统资源的浪费,一个对象(在学习设计模式之前,需要比较了解面向对象思想)只负责一个特定的任务。 php的应用主要在于数据库应用, 所以一个应用中会...

    pdo完整封装类,注释全面

    php pdo类封装,单例模式,多种操作方式,预处理,事务

    php完美pdo类封装

    php pdo类封装,单例模式,多种操作方式,预处理,事务

    EtherCAT增加PDO读写寄存器

    EtherCAT增加PDO读写寄存器 EtherCAT是一种实时以太网总线,已经广泛应用于工业自动化领域。EtherCAT提供了PDO(过程数据对象)机制,允许用户通过 EtherCAT 网络访问设备寄存器。然而,在使用PDO读写寄存器时,...

    php基于单例模式编写PDO类.zip

    引入了单例模式来保证在全局调用中不会重复实例化这个类,降低系统资源的浪费,一个对象(在学习设计模式之前,需要比较了解面向对象思想)只负责一个特定的任务。 php的应用主要在于数据库应用, 所以一个应用...

    PDO SDO应用实例分析,让人茅塞顿开!

    PDO(PHP Data Objects)是一种基于 PHP 的数据访问对象模型,提供了一个统一的接口来访问不同的数据库管理系统。SDO(Service Data Objects)是一种基于 Service-Oriented Architecture(SOA)的数据对象模型,提供...

    PHP基于单例模式编写PDO类的方法

    的代码是用此前一个名为MyPDO的类改写的,引入了单例模式来保证在全局调用中不会重复实例化这个类,降低系统资源的浪费。有需要的朋友们可以参考借鉴,下面来一起看看吧。

    CoDeSys3.5 PDO Demo

    我自己写的CoDeSys3.5的PDO通信的Demo 下载就可以用 可是本人呕心沥血完成之作,现奉献大家。在此基础上只需稍作修改就可以直接使用

    pdo pdo封装函数

    pdo链接数据库封装类库,用于数据库操作,执行数据库curd操作

    php pdo组件的用法

    单条查询不需要启用事务处理,并且不需要使用PDO的预处理方式,但注意要使用$pdo-&gt;quote()方法来自动将字符型变量值的字符中首尾加上单引号,以防止SQL注入,并且免去特殊符号转义的过程。 $db_type='mysql'; //...

    数据库抽象层-PDO和ADOdb.doc

    能使用PDO扩展本身执行任何数据库操作,必须使用一个database-specific PDO driver(针对特定数据库的PDO驱动)访问数据库 PDO开启:修改php.ini文件,extension=php_pdo.dll,分号删除就是开启PDO 另外还有PDO其他...

    EtherCAT动态PDO映射的实现方法

    作为EtherCAT协议栈的补充,实现PDO动态映射,是一个完整的EtherCAT从站必要的组成部分。

    PDO连接数据库类

    查询操作主要是PDO::query()、PDO::exec&#40;&#41;、PDO::prepare()。PDO::query()主要是用于有记录结果返回的操作,特别是SELECT操作,PDO::exec&#40;&#41;主要是针对没有结果集合返回的操作,比如INSERT、UPDATE、...

    pdo详解(中文教程)

    PDO 详解 PDO(PHP Data Objects)是一种PHP扩展库,提供了一个统一的访问数据库的接口。它支持多种数据库管理系统,包括MySQL、PostgreSQL、Microsoft SQL Server、Oracle等。 PDO 的主要优点是: *统一的数据库...

    php pdo分页类

    php5推出的pdo统一数据接口,为了方便数据的分页写的pdo分页类。

    pdo_mysql.rar_PDO_pdo_mysql.so

    php常用拓展,使用PDO链接数据库时必须用到

    PDO封装函数类

    PDO封装函数类,自己封装自用工具,赶紧下载吧PDO封装函数类PDO封装函数类PDO封装函数类PDO封装函数类

    pdo的操作吧pdo的操作吧

    pdopdo的操作吧pdo的操作吧pdo的操作吧

    使用php PDO 鏈接數據庫,高安全性

    絕對好用的mysql鏈接類庫,只要include即可使用 使用方便,只需要 include 文件 代碼示範: $db = new Db; $db-&gt;query('SELECT * FROM table WHERE field = :field LIMIT 1');...$db-&gt;bind(':field', 'field');...

    关于PDO操作的一点笔记

    关于PDO操作的一点笔记: 1、连接数据库 $con=new PDO(string $dsn [, string $username [, string $password [, array $driver_options ]]]); $dsn为数据源,比如$dsn="mysql:host=localhost;dbname=test"; 连接到...

Global site tag (gtag.js) - Google Analytics