单例模式顾名思义:

这个类只能实例化一次.不能被克隆.一般被用来处理数据库操作等需要频繁使用,但是多次实例化又很浪费内存的类.

下面是一个带有注释的实例:

<?php

#单例模式

######################

class Single{

private static $instance; #定义私有静态属性,用来存放本类实例化后的对象.

private function __construct(){} #私有构造方法,防止new实例化操作.

public static function getInstance()

{

if(!(self::$instance instanceof self))

#instanceof又两个用途

# 1.判断前面那个是否是后面的对象

# 2.判断前面的是否实现类后面的接口

#这里如果$instance属性内部已经存储了对象,那么无需在实例化了

{

self::$instance=new self;

}

return self::$instance; #返回属性自身,当然现在已经是对象了.

}

public function info()

{

echo "this is a test"; #测试方法.

}

public function __clone()#如果外部进行克隆那么返回一个致命错误.

{

trigger_error('Clone is not allow!',E_USER_ERROR);

}

}

$e=Single::getInstance(); #调用静态方法,这个方法也是单例模式的精髓.

$e->info();

?>

转载于:https://blog.51cto.com/phpwzh/1717766

php设计模式--单例模式相关推荐

  1. Python设计模式-单例模式

    Python设计模式-单例模式 基于Python3.5.2,代码如下 #coding:utf-8 import threading import timeclass Singleton(object) ...

  2. Android设计模式——单例模式(Singleton)

    二十三种设计模式分为三大类: 创建型模式,共五种:工厂方法模式.抽象工厂模式.单例模式.建造者模式.原型模式. 结构型模式,共七种:适配器模式.装饰器模式.代理模式.外观模式.桥接模式.组合模式.享元 ...

  3. 【学习笔记】ABAP OOD设计模式 - 单例模式

    ABAP OOD设计模式 - 单例模式 整理转自-<SAP ABAP 面向对象程序设计(原则.模式及实践)> 单例模式(Singleton Pattern)是常用的且较为简单的软件设计模式 ...

  4. Go 语言实现 23 种设计模式 单例模式

    Go 语言实现 23 种设计模式 单例模式 单例模式 单例模式是一种常用的软件设计模式,在使用过程中,单例对象的类只有一个实例.使用单例模式,1 可以节省内存等资源,例如windows操作系统的资源管 ...

  5. java singleton inner class_Java面向对象设计模式-单例模式

    Java面向对象设计模式-单例模式 2020-05-28 589 0 单例模式保证一个类仅有一个实例,并提供一个访问它的全局访问点,有多重实现方式. 一.饿汉式单例模式,构造方法私有化,在加载类Sin ...

  6. Java开发中常用的设计模式-单例模式

    单例(Singleton)模式的定义:指一个类只有一个实例,且该类能自行创建这个实例的一种模式. Java开发中常用的设计模式-单例模式 单例模式有3个特点: 单例类只有一个实例对象: 该单例对象必须 ...

  7. 炒冷饭系列:设计模式 单例模式

    2019独角兽企业重金招聘Python工程师标准>>> 炒冷饭系列:设计模式 单例模式 摘要: 原创出处: http://www.cnblogs.com/Alandre/ 泥沙砖瓦浆 ...

  8. 设计模式-单例模式-注册式单例模式-枚举式单例模式和容器式单例模式在Java中的使用示例

    场景 设计模式-单例模式-饿汉式单例模式.懒汉式单例模式.静态内部类在Java中的使用示例: 设计模式-单例模式-饿汉式单例模式.懒汉式单例模式.静态内部类在Java中的使用示例_霸道流氓气质的博客- ...

  9. 设计模式----创建型设计模式(单例模式、工厂方法模式、构建者模式)

    创建型设计模式 单例模式(Singleton Pattern) 单例模式介绍 代码演示 饿汉式(静态常量) 饿汉式(静态代码块) 懒汉式(线程不安全) 懒汉式(线程安全,同步方法) 懒汉式(线程安全, ...

  10. 小视频源码,设计模式单例模式

    小视频源码,设计模式单例模式实现的相关代码 .一,单线程时候推荐 /*** Created by Shinelon on 2018/10/11.* 单利模式 懒汉式 -->单线程推荐使用*/pu ...

最新文章

  1. robotframework手机号随机产生脚本
  2. C#类中的internal成员可能是一种坏味道
  3. 基于CkEditor实现.net在线开发之路(1)
  4. oracle之高级子查询2
  5. 学.net还是php,ASP.NET和php哪个更容易学
  6. html前进2格2em,HTML2
  7. WebGIS设计思想
  8. vue组件系列3、查询下载
  9. 如何在eclipse中配置反编译工具JadClipse
  10. NginxWebUI - 图形化的 Nginx 配置管理工具
  11. Python字典知识总结
  12. 微信砍价 php,GitHub - YInJunWen/bcwx: vue2+thinkPHP5.1 前后端分离的微信砍价
  13. 晨星、银河基金业绩排行榜数据转换工具
  14. 微信小程序 (布局适配与物理逻辑像素)
  15. 苹果手机有4g信号但是微信未连接服务器,苹果5s有显示4g网络但无上微信 是不是那里设置了 今天才出现的...
  16. 二维码(生成二维码和扫描二维码)超简单 超简易
  17. android 网易新闻 详情页面实现,Android实现网易新闻客户端首页效果
  18. Android 支付宝商户-签约代扣 一个坑的记录(4001)
  19. 2022-07-28 xm-select 的使用
  20. 【雷神笔记本快捷键】雷神笔记本FN功能快捷键大全以及电脑CPU处于低功耗但电脑风扇高速转动噪音较大解决方案

热门文章

  1. nginx从入门、搭建到理解
  2. mysql问题举例_MySql问题总结
  3. 移动端调用百度地图api_百度智能云图像识别API调用
  4. linux系统下载经验,linux系统的学习经验首篇
  5. 解读千人千面,洞悉数据智能的价值
  6. 神策用户画像 2 大功能:千人千面,一人千面,一次给你
  7. 盘它:1200 天积淀,超 750 篇干货,为你甄选这 100 + 篇精华!
  8. Android 超高仿微信图片选择器 图片该这么加载
  9. .NET Socket服务编程之-高效连接接入编
  10. Polya原理的应用经典实例