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 相关文章推荐
玩转虚拟域名◎+ .
Oct 09 PHP
一步一步学习PHP(4) php 函数 补充2
Feb 15 PHP
如何用C语言编写PHP扩展的详解
Jun 13 PHP
php计算当前程序执行时间示例
Apr 24 PHP
php 魔术方法详解
Nov 11 PHP
php查询mysql大量数据造成内存不足的解决方法
Mar 04 PHP
PHP实现通过get方式识别用户发送邮件的方法
Jul 16 PHP
PHP中如何判断exec函数执行成功?
Aug 04 PHP
浅谈PHP中静态方法和非静态方法的相互调用
Oct 04 PHP
PHP实现无限分类的实现方法
Nov 14 PHP
php断点续传之文件分割合并详解
Dec 13 PHP
php实现留言板功能(会话控制)
May 23 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和AJAX创建RSS聚合器的代码
2007/03/13 PHP
PHP中使用hidef扩展代替define提高性能
2015/04/09 PHP
smarty学习笔记之常见代码段用法总结
2016/03/19 PHP
asp 取文本框名称代码
2008/12/02 Javascript
ASP.NET中使用后端代码注册脚本 生成JQUERY-EASYUI的界面错位的解决方法
2010/06/12 Javascript
Jquery中显示隐藏的实现代码分析
2011/07/26 Javascript
关于图片按比例自适应缩放的js代码
2011/10/30 Javascript
jquery选择器原理介绍($()使用方法)
2014/03/25 Javascript
js确认删除对话框适用于a标签及submit
2014/07/10 Javascript
浅析js预加载/延迟加载
2014/09/25 Javascript
js中confirm实现执行操作前弹出确认框的方法
2014/11/01 Javascript
JavaScript实现向setTimeout执行代码传递参数的方法
2015/04/16 Javascript
javascript中动态函数用法实例分析
2015/05/14 Javascript
javascript中使用未定义变量或值的情况分析
2016/07/19 Javascript
老生常谈javascript的类型转换
2016/10/12 Javascript
bootstrapfileinput实现文件自动上传
2016/11/08 Javascript
详解js几个绕不开的事件兼容写法
2017/08/30 Javascript
jQuery中图片展示插件highslide.js的简单dom
2018/04/22 jQuery
Vue中的scoped实现原理及穿透方法
2018/05/15 Javascript
vue与bootstrap实现简单用户信息添加删除功能
2019/02/15 Javascript
发布订阅模式在vue中的实际运用实例详解
2019/06/09 Javascript
python使用paramiko模块实现ssh远程登陆上传文件并执行
2014/01/27 Python
Python通过正则表达式选取callback的方法
2015/07/18 Python
在MAC上搭建python数据分析开发环境
2016/01/26 Python
Python学习笔记之if语句的使用示例
2017/10/23 Python
关于Python的一些学习总结
2018/05/25 Python
Python 获取主机ip与hostname的方法
2018/12/17 Python
用python一行代码得到数组中某个元素的个数方法
2019/01/28 Python
详解Django中CBV(Class Base Views)模型源码分析
2019/02/25 Python
Python PyQt5 Pycharm 环境搭建及配置详解(图文教程)
2019/07/16 Python
有原因的手表:Flex Watches
2019/03/23 全球购物
经济信息系毕业生自荐信范文
2014/03/15 职场文书
学校开学标语
2014/10/06 职场文书
财务部岗位职责范本
2015/04/14 职场文书
在 Golang 中实现 Cache::remember 方法详解
2021/03/30 Python
MySQL去除密码登录告警的方法
2022/04/20 MySQL