使用单例模式建立一个数据库连接简单示例
<?php /**describe:单例模式 数据库类 单例模式的必要条件 (1)私有的构造方法-为了防止在类外使用new关键字实例化对象 (2)私有的成员属性-为了防止在类外引入这个存放对象的属性 (3)私有的克隆方法-为了防止在类外通过clone成生另一个对象 (4)公有的静态方法-为了让用户进行实例化对象的操作 */ header("content-type:text/html;charset=utf-8");class DbSingleton {private $charset = "utf8"; //字符串编码//私有的成员属性-为了防止在类外引入这个存放对象的属性private static $instance = NULL; //存储对象//私有的构造方法-为了防止在类外使用new关键字实例化对象private function __construct($host, $username, $password, $dbname, $port){$link = mysqli_connect($host, $username, $password, $dbname, $port);if (!$link) {die("连接错误: " . mysqli_connect_error());}// 修改数据库连接字符集为 utf8mysqli_set_charset($link, $this->charset);return $link;}//私有的克隆方法-为了防止在类外通过clone成生另一个对象private function __clone(){}//公有的静态方法-为了让用户进行实例化对象的操作public static function getInstance($host, $username, $password, $dbname, $port){if (!self::$instance instanceof self) {self::$instance = new self($host, $username, $password, $dbname, $port);}return self::$instance;} }//测试: //$host = '127.0.0.1'; //$username = 'root'; //$password = '123456'; //$dbname = 'test'; //$port = 3306; //$db = DbSingleton::getInstance($host, $username, $password, $dbname, $port); //var_dump($db);
转载于:https://www.cnblogs.com/jxl1996/p/10172654.html
使用单例模式建立一个数据库连接简单示例相关推荐
- 建立一个最简单的FLV和MP4播放器
建立一个最简单的FLV和MP4播放器 在Flash CS3中建立一个Flash文档后 选中脚本面板 利用NetConnection和NetStream即可完成功能 代码如下: var nc:NetCo ...
- Linux下 运行Jmeter (含一个jmeter简单示例)
本文的方法是现在图形界面下添加好组件,生成jmx脚本文件,然后将jmx文件放到linux环境下用命令行运行脚本,进行性能测试. 1. 用Jmeter进行打压测试 如果可以打开图形界面,则可以参看图形 ...
- 在虚拟机中建立一个最简单的JSP网页,并通过Tomcat服务器发布这个网页。通过虚拟机的宿主机浏览器访问虚拟机上所发布的JSP网页
在这里介绍下,本次实验用的虚拟机是win7系统,主机是win10系统.用的是校园网,输入账号密码登录. (1)第一步,我们在虚拟机上下载JDK(Java development kit)以及Tomca ...
- 学习JSP——在虚拟机中建立一个JSP网页,通过Tomcat服务器发布,并通过虚拟机的宿主机浏览器访问虚拟机上所发布的JSP网页
1.介绍JSP (1)简介 JSP全称Java Server Pages,是一种动态网页开发技术.它使用JSP标签在HTML网页中插入Java代码.标签通常以<%开头以%>结束. JSP是 ...
- 机器人坐标系建立_如何在30分钟内建立一个简单的搜索机器人
机器人坐标系建立 by Quinn Langille 奎因·兰吉尔(Quinn Langille) 如何在30分钟内建立一个简单的搜索机器人 (How to Build A Simple Search ...
- SmartSql使用教程(1)——初探,建立一个简单的CURD接口服务
一.引言 最近SmartSql被正式引入到了NCC,借着这个契机写一个使用教程系列 二.SmartSql简介[摘自官方文档] 1. SmartSql是什么? SmartSql = MyBatis + ...
- 【Java编程】建立一个简单的JDBC连接-Drivers, Connection, Statement and PreparedStatement
本blog提供了一个简单的通过JDBC驱动建立JDBC连接例程.并分别通过Statement和PreparedStatement实现对数据库的查询. 在下一篇blog中将重点比較Statement与P ...
- bat 删除文件_利用电脑文本文档建立一个简单方便的删除文件的小程序
删除文不需要的文件或者资料,是日常工作中必定会遇到了. 各种的杀毒软件或者防护软件都具备删除文件的功能,例如360.腾讯电脑管家.这些操作起来其实也不是太麻烦! 不过呢!今天来和大家分享一个更简单的方 ...
- tensorflow学习笔记二——建立一个简单的神经网络拟合二次函数
tensorflow学习笔记二--建立一个简单的神经网络 2016-09-23 16:04 2973人阅读 评论(2) 收藏 举报 分类: tensorflow(4) 目录(?)[+] 本笔记目的 ...
最新文章
- python统计窗口函数怎么处理_python移动窗口函数
- java新手笔记21 接口
- webview跟html通信的原理,1.iOS: webView与html的交互
- web前端从无到有html标签,.NET MVC 扩展 HtmlHelper 从无到有(一)
- python字符串三,删除空白符,对齐函数及判断函数
- jms pub/sub模型_JMS消息传递模型:点对点和发布/订阅
- 7. Swift 基于Xmpp和openfire实现一个简单的登录注册
- JAVA8——StringJoiner类
- 知乎:tomcat 与 nginx,apache的区别是什么?
- java多线程(超详细)
- SSM+网上书店管理系统 毕业设计-附源码082255
- matlab 求其骨架,数字图像处理图像的骨架生成和提取(Matlab)三种方法
- 查询天气的接口api收集总结
- 首批接入司法数据的网贷平台已拒贷3万余失信被执行人
- Win11任务栏消息提醒功能如何开启教学
- 软件测试中的杀虫剂效应与金字塔模型
- SMM框架学习日志——Spring详述
- 通信原理包络是什么意思_2021年通信原理考研题库
- 原链YCC落地应用之仓单金融
- 【基因调控网络】Discovering Gene Networks with a Neural-Genetic Hybride(单层神经网络与遗传算法混合算法2005)