php怎么用tcp连接mysql_PHP实现单例连接MySQL

单例模式的定义:保证一个类只有一个实例,并提供一个访问它的全局访问点。这就意味着这个类只实例化一次,并做好防止外部再次实例化的措施,比如克隆私有化,构造函数私有化,还要把实例化好的资源保存起来,供外部使用。

这样做的目的是减少内存的消耗,因为每实例化一次就会消耗一次内存。

单例模式连接MySQL

<?php class Db {// static 全局化变量,永久保存,供全局使用private static $_instance;private static $_dbConnect;//保存数据库的配置信息private $_dbConfig = array('host' => '127.0.0.1','user' => 'cddata','password' => 'cddata','database' => 'cddata',
    );//使用private防止用户newprivate function __construct(){}//重写clone防止用户进行clonepublic function __clone(){//当用户clone操作时产生一个错误信息die("不能克隆".mysql_error());
    }    //由类的自身来进行实例化public static function getInstance(){if(!(self::$_instance instanceof self)){self::$_instance = new self();
        }return self::$_instance;
    }public function connect(){self::$_dbConnect = @mysql_connect($this->_dbConfig['host'],$this->_dbConfig['user'],$this->_dbConfig['password']);if(!self::$_dbConnect){die("数据库连接出错".mysql_error());
        }// 设置编码
        mysql_query("SET NAMES UTF8");// 连接数据库
        mysql_select_db($this->_dbConfig['database'],self::$_dbConnect);return self::$_dbConnect;
    }
}

测试数据库连接

$res = Db::getInstance();
var_dump($res);

END

技术以内 | 技术以外 技术栈 | 小感悟 效率工具 | 必备技能 你的效率有多高,决定你能跑多快 5c7225980a1c596637a08c7b9ee8c0c3.png
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值