php简单实现单态设计模式的方法分析


Posted in PHP onJuly 28, 2017

本文实例讲述了php简单实现单态设计模式的方法。分享给大家供大家参考,具体如下:

单态设计模式通常包含以下三点:

· 一个私有的 构造方法;(确保用户无法通过创建对象对其进行实例化)
· 一个公有的 静态的 方法;(负责对其本身进行实例化)
· 一个私有的 静态的 属性;(用于保存仅有的一个实例化对象)

<?php
class singleTon{
    //用于保存仅有的一个实例化对象
    private static $Instance=NULL;
    //构造方法 使用private 封装后 则只能在类的内部使用new去创建对象
    private function __construct(){};
    //只有通过这个方法才能返回本类中的对象,该方法是静态方法 用类名调用
    public static getInstance(){
       if(self::$Instance instanceof self){ //如果本类中的$Instance为空,说明还没有被实例化过
         self::$Instance=new singleTon(); //实例化本对象
       }
       return self::$Instance;
    }
}
$instance=singleTon::getInstance(); //只能使用静态方法getInstance()去获取singleTon类的对象
?>

所谓的单态设计模式就是一个类只能产生/创建唯一一个对象

要编写单态设计模式,就必须让一个类只能实例化一个对象,而要想让一个类只能实例化一个对象,就要先让一个类不能实例化对象

希望本文所述对大家PHP程序设计有所帮助。

PHP 相关文章推荐
Windows中安装Apache2和PHP4权威指南
Nov 18 PHP
用php实现像JSP,ASP里Application那样的全局变量
Jan 12 PHP
据说是雅虎的一份PHP面试题附答案
Jan 07 PHP
PHP通用检测函数集合
Feb 08 PHP
php实现天干地支计算器示例
Mar 14 PHP
thinkphp中memcache的用法实例
Nov 29 PHP
php中使用GD库做验证码
Mar 31 PHP
ThinkPHP3.2.2实现持久登录(记住我)功能的方法
May 16 PHP
PHP的AES加密算法完整实例
Jul 20 PHP
php使用高斯算法实现图片的模糊处理功能示例
Nov 11 PHP
php使用json_decode后数字对象转换成了科学计数法的解决方法
Feb 20 PHP
PHP实现的折半查找算法示例
Dec 19 PHP
[原创]PHP实现SQL语句格式化功能的方法
Jul 28 #PHP
使用php自动备份数据库表的实现方法
Jul 28 #PHP
PHP自定义函数判断是否为Get、Post及Ajax提交的方法
Jul 27 #PHP
PHP 7安装使用体验之性能大提升,兼容性强,扩展支持不够(升级PHP要谨慎)
Jul 27 #PHP
laravel 5.4中实现无限级分类的方法示例
Jul 27 #PHP
SCP远程VPS快速搬家和WDCP升级php5.3安装memcached和eaccelerator教程
Jul 27 #PHP
PHP实现的Redis多库选择功能单例类
Jul 27 #PHP
You might like
php class中self,parent,this的区别以及实例介绍
2013/04/24 PHP
php实现上传图片生成缩略图示例
2014/04/13 PHP
php文件夹的创建与删除方法
2015/01/24 PHP
thinkPHP中验证码的简单使用方法
2015/12/26 PHP
php利用header函数下载各种文件
2016/08/24 PHP
利用PHPExcel实现Excel文件的写入和读取
2017/04/26 PHP
laravel model模型定义实现开启自动管理时间created_at,updated_at
2019/10/17 PHP
laravel Task Scheduling(任务调度)在windows下的使用详解
2019/10/22 PHP
php中加密解密DES类的简单使用方法示例
2020/03/26 PHP
PHP如何使用array_unshift()在数组开头插入元素
2020/09/01 PHP
JQuery中的ready函数冲突的解决方法
2010/05/17 Javascript
jQuery实战之仿淘宝商城左侧导航效果
2011/04/12 Javascript
动态创建script标签实现跨域资源访问的方法介绍
2014/02/28 Javascript
JS实现在线统计一个页面内鼠标点击次数的方法
2015/02/28 Javascript
JQuery菜单效果的两个实例讲解(3)
2015/09/17 Javascript
Dropzone.js实现文件拖拽上传功能(附源码下载)
2016/11/22 Javascript
JS实现简单短信验证码界面
2017/08/07 Javascript
React Native仿美团下拉菜单的实例代码
2017/08/08 Javascript
vue 实现input表单元素的disabled示例
2019/10/28 Javascript
跟老齐学Python之总结参数的传递
2014/10/10 Python
Python实现抓取百度搜索结果页的网站标题信息
2015/01/22 Python
Python中Django框架下的staticfiles使用简介
2015/05/30 Python
Python探索之修改Python搜索路径
2017/10/25 Python
详解用Python实现自动化监控远程服务器
2019/05/18 Python
django基于restframework的CBV封装详解
2019/08/08 Python
应用OpenCV和Python进行SIFT算法的实现详解
2019/08/21 Python
解决jupyter notebook 前面书写后面内容消失的问题
2020/04/13 Python
H5 canvas实现贪吃蛇小游戏
2017/07/28 HTML / CSS
Melijoe美国官网:法国奢侈童装购物网站
2017/04/19 全球购物
英国户外服装品牌:Craghoppers
2019/04/25 全球购物
街头时尚在线:JESSICABUURMAN
2019/06/16 全球购物
刘胡兰的英雄事迹材料
2014/02/11 职场文书
教师国庆节演讲稿范文2014
2014/09/21 职场文书
出国留学英文自荐信
2015/03/25 职场文书
嘉年华活动新闻稿
2015/07/17 职场文书
2016入党心得体会范文
2016/01/06 职场文书