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 相关文章推荐
图书管理程序(二)
Oct 09 PHP
PHP执行速率优化技巧小结
Mar 15 PHP
php 时间计算问题小结
Jan 04 PHP
PHP 文件类型判断代码
Mar 13 PHP
PHP测试程序运行时间的类
Feb 05 PHP
php Ubb代码编辑器函数代码
Jul 05 PHP
json的键名为数字时的调用方式(示例代码)
Nov 15 PHP
php获取文件大小的方法
Feb 26 PHP
PHP中key和current,next的联合运用实例分析
Mar 29 PHP
PHP Yaf框架的简单安装使用教程(推荐)
Jun 08 PHP
yii2.0框架场景的简单使用示例
Jan 25 PHP
如何通过Apache在本地配置多个虚拟主机
Jul 29 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判断表单复选框选中状态完整例子
2014/06/24 PHP
WordPress开发中短代码的实现及相关函数使用技巧
2016/01/05 PHP
PHP编写RESTful接口的方法
2016/02/21 PHP
ThinkPHP模板循环输出Volist标签用法实例详解
2016/03/23 PHP
JSON PHP中,Json字符串反序列化成对象/数组的方法
2018/05/31 PHP
PHP单元测试框架PHPUnit用法详解
2019/01/23 PHP
AngularJS基础教程之简单介绍
2015/09/27 Javascript
基于jQuery实现鼠标点击导航菜单水波动画效果附源码下载
2016/01/06 Javascript
在Mac OS上安装使用Node.js的项目自动化构建工具Gulp
2016/06/18 Javascript
BootStrap表单验证实例代码
2017/01/13 Javascript
vue一步步实现alert功能
2017/07/05 Javascript
运用js实现图层拖拽的功能
2019/05/24 Javascript
简单实现节流函数和防抖函数过程解析
2019/10/08 Javascript
Openlayers学习之地图比例尺控件
2020/09/28 Javascript
精确查找PHP WEBSHELL木马的方法(1)
2011/04/12 Python
wxpython中利用线程防止假死的实现方法
2014/08/11 Python
Python 中的 else详解
2016/04/23 Python
Python使用Django实现博客系统完整版
2020/09/29 Python
Python + selenium自动化环境搭建的完整步骤
2018/05/19 Python
Python获取昨天、今天、明天开始、结束时间戳的方法
2018/06/01 Python
Python下opencv图像阈值处理的使用笔记
2019/08/04 Python
python用requests实现http请求代码实例
2019/10/31 Python
Python Pickle 实现在同一个文件中序列化多个对象
2019/12/30 Python
Python GUI库PyQt5样式QSS子控件介绍
2020/02/25 Python
HTML5新增加标签和功能概述
2016/09/05 HTML / CSS
法国在线购买汽车轮胎网站:123pneus.fr
2019/02/25 全球购物
P/Invoke是什么
2015/07/31 面试题
机电工程专业应届生求职信
2013/10/03 职场文书
外语系毕业生找工作的求职信
2013/11/28 职场文书
博士研究生自我鉴定范文
2013/12/04 职场文书
模具专业毕业生自荐书范文
2014/02/19 职场文书
《台湾的蝴蝶谷》教学反思
2014/02/20 职场文书
毕业生就业协议书
2014/04/11 职场文书
房屋转让协议书
2014/10/18 职场文书
2016公司新年问候语
2015/11/11 职场文书
Java实现经典游戏泡泡堂的示例代码
2022/04/04 Java/Android