php单例模式示例分享


Posted in PHP onFebruary 12, 2015

单例模式主要使用于数据库的连接, 确保数据库一个类只有一个实例, 并且向整个系统提供这个实例。从而避免new操作消耗资源, 同时避免数据库出现too many connection信息.

要点有三个: 1. 必须只有一个实例。 2. 必须自动创建这个实例。 3. 必须向整个系统提供这个实例。

<?

     class mysql{

        privete static $instance ;//保存实例

         //构造函数声明为private, 防止直接创建对象

        privete function __construct(){

             // 实例化

         }

         //单例方法, 判断是否已经实例化,只实例化一次

         public static function getInstance (){

             if(!isset( self::$instance )){

                self ::$instance = new self();

             }

             return self:: $instance;

         }

         //防止克隆对象

         private function __clone (){

             trigger_error ("not allow to clone.");

         }

         function test(){

             echo "test" ;

         }

     }

     $conn = mysql::getInstance ();

     $conn->test ();

?>
PHP 相关文章推荐
不用GD库生成当前时间的PNG格式图象的程序
Oct 09 PHP
php microtime获取浮点的时间戳
Feb 21 PHP
解析php中的escape函数
Jun 29 PHP
如何给phpcms v9增加类似于phpcms 2008中的关键词表
Jul 01 PHP
使用PHP函数scandir排除特定目录
Jun 12 PHP
php获取url参数方法总结
Nov 13 PHP
php中current、next与reset函数用法实例
Nov 17 PHP
PHP计算百度地图两个GPS坐标之间距离的方法
Jan 09 PHP
PHP数组和explode函数示例总结
May 08 PHP
PHP生成唯一订单号
Jul 05 PHP
Yii2实现log输出到file及database的方法
Nov 12 PHP
PHP读取Excel内的图片(phpspreadsheet和PHPExcel扩展库)
Nov 19 PHP
PHP 正则表达式小结
Feb 12 #PHP
一个非常完美的读写ini格式的PHP配置类分享
Feb 12 #PHP
PHP动态输出JavaScript代码实例
Feb 12 #PHP
PHP使用JSON和将json还原成数组
Feb 12 #PHP
服务器上配置PHP运行环境教程
Feb 12 #PHP
PHP保存带BOM文件的方法
Feb 12 #PHP
自己写的php curl库实现整站克隆功能
Feb 12 #PHP
You might like
开发大型 PHP 项目的方法
2007/01/02 PHP
php while循环控制的简单实例
2016/05/30 PHP
验证token、回复图文\文本、推送消息的实用微信类php代码
2016/06/28 PHP
PHP验证终端类型是否为手机的简单实例
2017/02/07 PHP
PHP实现双链表删除与插入节点的方法示例
2017/11/11 PHP
js wmp操作代码小结(音乐连播功能)
2008/11/08 Javascript
Extjs4中Form的使用之本地hiddenfield
2013/11/26 Javascript
JS实现的网页倒计时数字时钟效果
2015/03/02 Javascript
轻松学习jQuery插件EasyUI EasyUI创建树形网络(1)
2015/11/30 Javascript
JavaScript中创建原子的方法总结
2018/08/26 Javascript
element-ui表格合并span-method的实现方法
2019/05/21 Javascript
vue+element导航栏高亮显示的解决方式
2019/11/12 Javascript
[02:16]DOTA2英雄基础教程 干扰者
2014/01/15 DOTA
用map函数来完成Python并行任务的简单示例
2015/04/02 Python
python调用fortran模块
2016/04/08 Python
Python绘制3d螺旋曲线图实例代码
2017/12/20 Python
dataframe设置两个条件取值的实例
2018/04/12 Python
Python实现微信消息防撤回功能的实例代码
2019/04/29 Python
详解Python 切片语法
2019/06/10 Python
K最近邻算法(KNN)---sklearn+python实现方式
2020/02/24 Python
基于FME使用Python过程图解
2020/05/13 Python
python eventlet绿化和patch原理
2020/11/21 Python
python3通过subprocess模块调用脚本并和脚本交互的操作
2020/12/05 Python
详解Django关于StreamingHttpResponse与FileResponse文件下载的最优方法
2021/01/07 Python
使用JS+CSS3技术:让你的名字动起来
2013/04/27 HTML / CSS
专门经营化妆刷的美国彩妆品牌:Sigma Beauty
2017/09/11 全球购物
英国音乐设备和乐器商店:Gear4music
2017/10/16 全球购物
意大利在线大学图书馆:Libreria universitaria
2019/07/16 全球购物
优质服务演讲稿
2014/05/14 职场文书
中华美德颂演讲稿
2014/05/20 职场文书
做一个有道德的人活动方案
2014/08/25 职场文书
大学生第一学年自我鉴定
2014/09/12 职场文书
2016春节家属慰问信
2015/03/25 职场文书
大学生创业计划书
2019/06/24 职场文书
MyBatis核心源码深度剖析SQL语句执行过程
2022/05/20 Java/Android
mysql数据库如何转移到oracle
2022/12/24 MySQL