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 相关文章推荐
Ajax PHP分页演示
Jan 02 PHP
DISCUZ 论坛管理员密码忘记的解决方法
May 14 PHP
PHP下通过系统信号量加锁方式获取递增序列ID
Sep 25 PHP
php数据入库前清理 注意php intval与mysql的int取值范围不同
Dec 12 PHP
php和javascript之间变量的传递实现代码
Dec 19 PHP
PHP APC的安装与使用详解
Jun 13 PHP
php 模拟GMAIL,HOTMAIL(MSN),YAHOO,163,126邮箱登录的详细介绍
Jun 18 PHP
php返回当前日期或者指定日期是周几
May 21 PHP
初识通用数据库操作类――前端easyui-datagrid,form(php)
Jul 31 PHP
PHP+Mysql+jQuery实现发布微博程序 php篇
Oct 15 PHP
教你php如何实现验证码
Jan 20 PHP
TP5框架实现一次选择多张图片并预览的方法示例
Apr 04 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
YB217、YB235、YB400浅听
2021/03/02 无线电
php 静态化实现代码
2009/03/20 PHP
php的webservice的wsdl的XML无法显示问题的解决方法
2014/03/11 PHP
php封装json通信接口详解及实例
2017/03/07 PHP
javascript 延迟加载技术(lazyload)简单实现
2011/01/17 Javascript
jQuery 遍历-nextUntil()方法以及prevUntil()方法的使用介绍
2013/04/26 Javascript
排序算法的javascript实现与讲解(99js手记)
2014/09/28 Javascript
node.js中的fs.lchownSync方法使用说明
2014/12/16 Javascript
推荐一个自己用的封装好的javascript插件
2015/01/29 Javascript
js实现Select列表内容自动滚动效果代码
2015/08/20 Javascript
bootstrap vue.js实现tab效果
2017/02/07 Javascript
js实现鼠标移动到图片产生遮罩效果
2017/10/21 Javascript
Vue2仿淘宝实现省市区三级联动
2020/04/15 Javascript
Node.Js生成比特币地址代码解析
2018/04/21 Javascript
vue检测对象和数组的变化分析
2018/06/30 Javascript
JavaScript设计模式之构造器模式(生成器模式)定义与用法实例分析
2018/07/26 Javascript
jquery实现的简单轮播图功能【适合新手】
2018/08/17 jQuery
基于NodeJS开发钉钉回调接口实现AES-CBC加解密
2020/08/20 NodeJs
Python中使用HTMLParser解析html实例
2015/02/08 Python
python使用7z解压apk包的方法
2015/04/18 Python
Python实现运行其他程序的四种方式实例分析
2017/08/17 Python
Python+tkinter使用40行代码实现计算器功能
2018/01/30 Python
详解Django admin高级用法
2019/11/06 Python
Python3.x+pyqtgraph实现数据可视化教程
2020/03/14 Python
在keras中对单一输入图像进行预测并返回预测结果操作
2020/07/09 Python
HTML5 实战PHP之Web页面表单设计
2011/10/09 HTML / CSS
卡西欧G-SHOCK英国官网: 防水防震手表
2018/01/08 全球购物
中专生的个人自我评价
2013/12/11 职场文书
本科生职业生涯规划书范文
2014/01/21 职场文书
劳动之星获奖感言
2014/02/01 职场文书
学生请假条格式
2014/04/11 职场文书
ktv周年庆活动方案
2014/08/18 职场文书
业务员岗位职责范本
2015/04/03 职场文书
2015年公务员试用期工作总结
2015/05/28 职场文书
如何拟写通知正文?
2019/04/02 职场文书
Python实现提取PDF简历信息并存入Excel
2022/04/02 Python