php单例模式实现(对象只被创建一次)


Posted in PHP onDecember 05, 2012

单例类至少拥有以下三种公共元素:

    必须拥有一个构造函数,并且必须被标记为private。
    拥有一个保存类的实例的静态成员变量。
    拥有一个访问这个实例的公共的静态方法

具体使用方面,我在下面php实例中注释的很清楚:

<?php
 /**
  * by www.phpddt.com
  */
 class Mysql{
  //该属性用来保存实例
  private static $conn;
  //构造函数为private,防止创建对象
  private function __construct(){
   $this->conn = mysql_connect('localhost','root','');
  }
  //创建一个用来实例化对象的方法
  public static function getInstance(){
   if(!(self::$conn instanceof self)){
    self::$conn = new self;
   }
   return self::$conn;
  }
  //防止对象被复制
  public function __clone(){
   trigger_error('Clone is not allowed !');
  } }
 //只能这样取得实例,不能new 和 clone
 $mysql = Mysql::getInstance();
?>
PHP 相关文章推荐
BBS(php &amp; mysql)完整版(七)
Oct 09 PHP
PHP实现图片简单上传
Oct 09 PHP
PHP常用代码
Nov 23 PHP
一个自定义位数的php多用户计数器代码
Mar 11 PHP
探讨如何使用SimpleXML函数来加载和解析XML文档
Jun 07 PHP
php对数组排序的简单实例
Dec 25 PHP
PHP正则表达式 /i, /is, /s, /isU等介绍
Oct 23 PHP
yii的CURD操作实例详解
Dec 04 PHP
php通过递归方式复制目录和子目录的方法
Mar 13 PHP
Zend Framework生成验证码并实现验证码验证功能(附demo源码下载)
Mar 22 PHP
php生成毫秒时间戳的实例讲解
Sep 22 PHP
PHP unset函数原理及使用方法解析
Aug 14 PHP
利用php实现禁用IE和火狐的缓存问题
Dec 03 #PHP
php自动给文章加关键词链接的函数代码
Nov 29 #PHP
PHP文章按日期(月日)SQL归档语句
Nov 29 #PHP
PHP以及MYSQL日期比较方法
Nov 29 #PHP
有道搜索和IP138的IP的API接口(PHP应用)
Nov 29 #PHP
PHP提示Notice: Undefined variable的解决办法
Nov 24 #PHP
php如何调用webservice应用介绍
Nov 24 #PHP
You might like
PHP strtok()函数的优点分析
2010/03/02 PHP
php 上一篇,下一篇文章实现代码与原理说明
2010/05/09 PHP
解析如何在PHP下载文件名中解决乱码的问题
2013/06/20 PHP
PHP实现绘制3D扇形统计图及图片缩放实例
2014/10/01 PHP
php判断访问IP的方法
2015/06/19 PHP
PHP Socket网络操作类定义与用法示例
2017/08/30 PHP
phpStudy配置多站点多域名方法及遇到的403错误解决方法
2017/10/19 PHP
微信公众平台开发教程④ ThinkPHP框架下微信支付功能图文详解
2019/04/10 PHP
js 幻灯片的实现
2011/12/06 Javascript
jQuery性能优化的38个建议
2014/03/04 Javascript
jQuery中$.extend()用法实例
2015/06/24 Javascript
javascript实现根据3原色制作颜色选择器的方法
2015/07/17 Javascript
纯js和css完成贪吃蛇小游戏demo
2016/09/01 Javascript
easyui combobox开启搜索自动完成功能的实例代码
2016/11/08 Javascript
JavaScript之iterable_动力节点Java学院整理
2017/06/29 Javascript
详解JS转换数值函数Number()、parseInt()、parseFloat()
2018/08/24 Javascript
使用Vue 实现滑动验证码功能
2019/06/27 Javascript
百度小程序之间的页面通信过程详解
2019/07/18 Javascript
js中关于Blob对象的介绍与使用
2019/11/29 Javascript
原生js实现移动小球(碰撞检测)
2020/12/17 Javascript
[03:07]完美世界DOTA2联赛PWL DAY10 决赛集锦
2020/11/11 DOTA
Python的函数嵌套的使用方法
2014/01/24 Python
python开发之字符串string操作方法实例详解
2015/11/12 Python
Python基于正则表达式实现文件内容替换的方法
2017/08/30 Python
Python编写一个优美的下载器
2018/04/15 Python
numpy添加新的维度:newaxis的方法
2018/08/02 Python
Python实现字典排序、按照list中字典的某个key排序的方法示例
2018/12/18 Python
Python+selenium点击网页上指定坐标的实例
2019/07/05 Python
Python Web版语音合成实例详解
2019/07/16 Python
Python基于requests实现模拟上传文件
2020/04/21 Python
Python模块zipfile原理及使用方法详解
2020/08/04 Python
复核员上岗演讲稿
2014/01/05 职场文书
《藤野先生》教学反思
2014/02/19 职场文书
市场部岗位职责
2015/02/12 职场文书
新闻通讯稿模板
2015/07/22 职场文书
Hive日期格式转换方法总结
2022/06/25 数据库