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 相关文章推荐
如何使用PHP往windows中添加用户
Dec 06 PHP
php 全文搜索和替换的实现代码
Jul 29 PHP
php中的curl_multi系列函数使用例子
Jul 29 PHP
php CI框架插入一条或多条sql记录示例
Jul 29 PHP
PHP实现的简单网络硬盘
Jul 29 PHP
浅析PHP中call user func()函数及如何使用call user func调用自定义函数
Nov 05 PHP
Zend Framework开发入门经典教程
Mar 23 PHP
windows server 2008/2012安装php iis7 mysql环境搭建教程
Jun 30 PHP
PHP中用mysqli面向对象打开连接关闭mysql数据库的方法
Nov 05 PHP
php 实现Hash表功能实例详解
Nov 29 PHP
PHP串行化与反串行化实例分析
Dec 27 PHP
PHP使用数组实现矩阵数学运算的方法示例
May 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
弄了个检测传输的参数是否为数字的Function
2006/12/06 PHP
php获取随机数组列表的方法
2014/11/13 PHP
PHP+AJAX实现投票功能的方法
2015/09/28 PHP
PHP执行普通shell命令流程解析
2020/08/24 PHP
js汉字转拼音实现代码
2013/02/06 Javascript
jquery利用ajax调用后台方法实例
2013/08/23 Javascript
jquery ajax实现下拉框三级无刷新联动,且保存保持选中值状态
2013/10/29 Javascript
jQuery DOM删除节点操作指南
2015/03/03 Javascript
vue的props实现子组件随父组件一起变化
2016/10/27 Javascript
浅谈angular4生命周期钩子
2017/09/05 Javascript
微信小程序实现换肤功能
2018/03/14 Javascript
JavaScript轮播停留效果的实现思路
2018/05/24 Javascript
微信小程序picker组件关于objectArray数据类型的绑定方法
2019/03/13 Javascript
vue实现前台列表数据过滤搜索、分页效果
2019/05/28 Javascript
详解vue中$nextTick和$forceUpdate的用法
2019/12/11 Javascript
vue 接口请求地址前缀本地开发和线上开发设置方式
2020/08/13 Javascript
vue 判断两个时间插件结束时间必选大于开始时间的代码
2020/11/04 Javascript
python基础教程之循环介绍
2014/08/29 Python
python 简单的绘图工具turtle使用详解
2017/06/21 Python
Python中的延迟绑定原理详解
2019/10/11 Python
CSS3实现复选框动画特效示例代码
2016/09/27 HTML / CSS
阿根廷旅游网站:almundo阿根廷
2018/02/12 全球购物
改变生活的男士内衣:SAXX Underwear
2019/08/28 全球购物
英国鞋网:Rubber Sole
2020/03/03 全球购物
小学教师师德感言
2014/02/10 职场文书
开业主持词
2014/03/21 职场文书
《苏珊的帽子》教学反思
2014/04/07 职场文书
《长城和运河》教学反思
2014/04/14 职场文书
交通事故和解协议书
2014/09/25 职场文书
2014年教研工作总结
2014/12/06 职场文书
地震慰问信
2015/02/14 职场文书
2015年小学图书室工作总结
2015/05/18 职场文书
2016小学新学期寄语
2015/12/04 职场文书
六年级语文教学反思
2016/03/03 职场文书
2016年“12.4”法制宣传日活动总结
2016/04/01 职场文书
Python基础之hashlib模块详解
2021/05/06 Python