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 相关文章推荐
构建简单的Webmail系统
Oct 09 PHP
用php解析html的实现代码
Aug 08 PHP
PHP获取http请求的头信息实现步骤
Dec 16 PHP
php模拟ping命令(php exec函数的使用方法)
Oct 25 PHP
php+mysqli数据库连接的两种方式
Jan 28 PHP
php实现在限定区域里自动调整字体大小的类实例
Apr 02 PHP
php里array_work用法实例分析
Jul 13 PHP
PHP使用Pear发送邮件(Windows环境)
Jan 05 PHP
php简单实现多维数组排序的方法
Sep 30 PHP
深入浅出讲解:php的socket通信原理
Dec 03 PHP
详解配置 Apache 服务器支持 PHP 文件的解析
Feb 15 PHP
php获取目录中所有文件名及判断文件与目录的简单方法
Mar 04 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
使用pthreads实现真正的PHP多线程(需PHP5.3以上版本)
2014/05/05 PHP
PHP实现利用MySQL保存session的方法
2014/08/23 PHP
纯php生成随机密码
2015/10/30 PHP
PHP Redis扩展无法加载的问题解决方法
2019/08/22 PHP
PHP 命名空间和自动加载原理与用法实例分析
2020/04/29 PHP
JavaScript网页制作特殊效果用随机数
2007/05/22 Javascript
javascript调试说明
2010/06/07 Javascript
jQuery EasyUI API 中文文档 - DataGrid数据表格
2011/11/17 Javascript
JS将数字转换成三位逗号分隔的样式(示例代码)
2014/02/19 Javascript
jQuery对指定元素中指定字符串进行替换的方法
2015/03/17 Javascript
javascript设计模式之对象工厂函数与构造函数详解
2015/07/30 Javascript
AngularJS+Node.js实现在线聊天室
2015/08/28 Javascript
Bootstrap实现默认导航栏效果
2020/09/21 Javascript
微信小程序 WXDropDownMenu组件详解及实例代码
2016/10/24 Javascript
Vue中img的src属性绑定与static文件夹实例
2017/05/18 Javascript
easyUI下拉列表点击事件使用方法
2017/05/18 Javascript
微信小程序tabBar底部导航中文注解api详解
2017/08/16 Javascript
VSCode 配置React Native开发环境的方法
2017/12/27 Javascript
微信小程序实现留言板功能
2018/11/02 Javascript
详解CommonJS和ES6模块循环加载处理的区别
2018/12/26 Javascript
Element el-button 按钮组件的使用详解
2021/02/01 Javascript
[40:19]2018完美盛典CS.GO表演赛
2018/12/17 DOTA
跟老齐学Python之从格式化表达式到方法
2014/09/28 Python
Python sys模块常用方法解析
2020/02/20 Python
python函数调用,循环,列表复制实例
2020/05/03 Python
django rest framework使用django-filter用法
2020/07/15 Python
python中@contextmanager实例用法
2021/02/07 Python
css3 图片圆形显示 如何CSS将正方形图片显示为圆形图片布局
2014/10/10 HTML / CSS
网页切图的CSS和布局经验与要点
2015/04/09 HTML / CSS
药剂专业学生求职信范文
2013/12/28 职场文书
医院门卫岗位职责
2013/12/30 职场文书
班级德育工作实施方案
2014/02/21 职场文书
博士生导师推荐信
2014/07/08 职场文书
第28个世界无烟日活动总结
2015/02/10 职场文书
保研导师推荐信
2015/03/25 职场文书
Java实现扫雷游戏详细代码讲解
2022/05/25 Java/Android