前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >PHP实现单例连接MySQL

PHP实现单例连接MySQL

作者头像
素浅
发布2020-12-18 15:48:17
7.6K0
发布2020-12-18 15:48:17
举报
文章被收录于专栏:程序媛生涯程序媛生涯

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

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

单例模式连接MySQL

代码语言:javascript
复制
<?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防止用户new
   private function __construct(){}

    //重写clone防止用户进行clone
   public 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;
    }
}

测试数据库连接

代码语言:javascript
复制
$res = Db::getInstance();
var_dump($res);

END

技术以内 | 技术以外

技术栈 | 小感悟

效率工具 | 必备技能

你的效率有多高,决定你能跑多快

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2020-12-14,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 程序媛生涯 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 单例模式连接MySQL
  • 测试数据库连接
相关产品与服务
云数据库 MySQL
腾讯云数据库 MySQL(TencentDB for MySQL)为用户提供安全可靠,性能卓越、易于维护的企业级云数据库服务。其具备6大企业级特性,包括企业级定制内核、企业级高可用、企业级高可靠、企业级安全、企业级扩展以及企业级智能运维。通过使用腾讯云数据库 MySQL,可实现分钟级别的数据库部署、弹性扩展以及全自动化的运维管理,不仅经济实惠,而且稳定可靠,易于运维。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档