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下的PHP5.0详解
Nov 18 PHP
phpMyAdmin2.11.6安装配置方法
Aug 24 PHP
利用Ffmpeg获得flv视频缩略图和视频时间的代码
Sep 15 PHP
PHP rawurlencode与urlencode函数的深入分析
Jun 08 PHP
destoon后台网站设置变成空白的解决方法
Jun 21 PHP
PHP实现Soap通讯的方法
Nov 03 PHP
php绘图之生成饼状图的方法
Jan 24 PHP
PHP生成静态HTML页面最简单方法示例
Apr 09 PHP
简单介绍win7下搭建apache+php+mysql开发环境
Aug 06 PHP
php上传图片类及用法示例
May 11 PHP
php中final关键字用法分析
Dec 07 PHP
PHP iconv()函数字符编码转换的问题讲解
Mar 22 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数据库操作面向对象的优点
2006/10/09 PHP
PHP写入WRITE编码为UTF8的文件的实现代码
2008/07/07 PHP
PHP Class&amp;Object -- PHP 自排序二叉树的深入解析
2013/06/25 PHP
分享PHP源码批量抓取远程网页图片并保存到本地的实现方法
2015/12/01 PHP
PHP连接sftp并下载文件的方法教程
2018/08/26 PHP
javascript 二进制运算技巧解析
2012/11/27 Javascript
用JavaScript实现动画效果的方法
2013/07/20 Javascript
jquery实现点击消失的代码
2014/03/03 Javascript
node-webkit打包成exe文件被360误报木马的解决方法
2015/03/11 Javascript
jQuery插件jFade实现鼠标经过的图片高亮其它变暗
2015/03/14 Javascript
jQuery选择id属性带有点符号元素的方法
2015/03/17 Javascript
javascript HTML5文件上传FileReader API
2020/03/27 Javascript
很棒的Bootstrap选项卡切换效果
2016/07/01 Javascript
JavaScript实现的原生态兼容IE6可调可控滚动文字功能详解
2017/09/19 Javascript
layui 富文本赋值,取值,取纯文本值的实例
2019/09/18 Javascript
vue实现一个6个输入框的验证码输入组件功能的实例代码
2020/06/29 Javascript
[42:32]Secret vs Optic 2018国际邀请赛小组赛BO2 第二场 8.18
2018/08/19 DOTA
[01:35]2018完美盛典章节片——共竞
2018/12/17 DOTA
Python中使用pprint函数进行格式化输出的教程
2015/04/07 Python
OpenCV Python实现拼图小游戏
2020/03/23 Python
Pycharm配置PyQt5环境的教程
2020/04/02 Python
Django用户认证系统如何实现自定义
2020/11/12 Python
Selenium获取登录Cookies并添加Cookies自动登录的方法
2020/12/04 Python
德国、奥地利和瑞士最大的旅行和度假门户网站:HolidayCheck
2019/11/14 全球购物
中学生团员自我评价分享
2013/12/07 职场文书
开办大学饮食联盟创业计划书
2014/01/29 职场文书
商业计算机应用专业自荐书
2014/06/09 职场文书
护士节演讲稿开场白
2014/08/25 职场文书
财政局党的群众路线教育实践活动整改方案
2014/09/21 职场文书
工作检讨书怎么写
2015/01/23 职场文书
毕业论文答辩开场白和结束语
2015/05/27 职场文书
仅用一句SQL更新整张表的涨跌幅、涨跌率的解决方案
2021/05/06 MySQL
Python基于百度AI实现抓取表情包
2021/06/27 Python
苹果发布了MagSafe固件更新,可以不外接电源实现最高7.5W充电
2022/04/21 数码科技
SpringBoot项目多数据源及mybatis 驼峰失效的问题解决方法
2022/07/07 Java/Android
Python使用pandas导入xlsx格式的excel文件内容操作代码
2022/12/24 Python