浅谈PHP单例模式 三私一公

1 单利模式保证属性私有化
构造函数私有化防止外部直接使用
克隆方法私有化防止克隆
2 一个对外的公共静态方法 供外部使用
这种模式保证本类只能被实例化一次,再次被调用时返回第一次实例化的对象,可以避免大量的NEW操作,减少资源的消耗。常见的数据库实例化就是这种模式

<?php
/*** */
class Singleton
{//属性私有化private static $model = null;//如果显式地声明构造函数,那么它的访问权限必须是 public//如果设置private 那么只有本类内部可以使用 //构造方法私有化private function __construct(){// code...}//禁止克隆  克隆方法私有化private function _clone() {}//对外一个公共的静态方法 调用实例化对象static function getInstance(){if (empty(self::$model)) {self::$model = new self();}return self::$model;}public function do(){return  '我是单例模式';}
}$model = Singleton::getInstance();
var_dump($model->do());$model_new = Singleton::getInstance();

代码中两次调用返回的是同一个实例,单例模式,顾名思义就是只有一个实例。单例模式确保某一个类只有一个实例,不能重复实例,只能它自己实例化,而且向整个系统提供这个实例。

浅谈PHP单例模式 三私一公相关推荐

  1. PHP单例模式--三私一公

    PHP设计模式之一,单例模式,顾名思义就是只有一个实例.单例模式确保某一个类只有一个实例,不能重复实例,只能它自己实例化,而且向整个系统提供这个实例. 三私一公:私有化静态属性,私有化构造方法,私有化 ...

  2. PHP中单例模式:三私一公是什么?

    PHP中单例模式:三私一公是什么? 三私一公 私有化静态属性 私有化构造方法 私有化克隆方法 公有化静态方法 ​​​​ 转载于:https://www.cnblogs.com/phpisfirst/p ...

  3. php清空单例属性_PHP单例模式--典型的三私一公

    单例模式:即一个类只被实例化一次,当其他人对其再次实例化时,便返回第一次实例化的对象.这种模式可以极大地节约资源.典型应用于数据库类的实例化. 以实例化一个Mysql数据库类为例: 要实现一个类只实例 ...

  4. PHP设计模式:工厂(静态方法里调用newobj的方法)单例(三私一公newself)注册树(使用静态变量数组存取对象)适配器(主体建立接口适配器丰富方法)

    工厂:使用工厂类的静态方法新建需要的对象 然后在外面直接调用静态方法新建对象 <?php//要创建对象实例的类 class MyObject{} //工厂类 class MyFactory{pu ...

  5. 浅谈程序员接私单的一些建议和经验,网友:我也要成为程序员!

    不管技术如何进步,如何学习,大家最终学习的目的肯定都是为了营生.说通俗了就是赚钱.所以程序员接私活也算是刚需吧!作为一直在做兼职路上的一枚程序员现在来给大家分享一点经验之谈.. 报价计算方式 最简单的 ...

  6. 浅谈osi模型 三次握手 四次挥手 ddos攻击原理

    C/S B/S 架构 C:client 端 B:browser 浏览器 S:server 端 C/S架构,基于客户端与服务端之间的通信 例如:QQ,抖音,快手,微信,支付宝等等 优点:个性化设置,响应 ...

  7. oracle方差和协方差函数,[转载]方差var、协方差cov、协方差矩阵(浅谈)(三)_函数cov...

    废话不多说,这节都是干货 我们继续讲第二个函数cov,需要区分的还是两个概念:协方差和样本协方差无偏估计值,此部分参考了博客相关内容http://blog.csdn.net/raocong2010/a ...

  8. 浅谈tcp的三次握手和四次挥手的理解

    所谓三次握手(Three-Way Handshake)即建立TCP连接,就是指建立一个TCP连接时,需要客户端和服务端总共发送3个包以确认连接的建立.在socket(套接字)编程中,这一过程由客户端执 ...

  9. 浅谈Floyd的三种用法 By cellur925

    Floyd大家可能第一时间想到的是他求多源最短路的n³算法.其实它还有另外两种算法的嘛qwq.写一发总结好了qwq. 一.多源最短路 放段代码跑,注意枚举顺序,用邻接矩阵存图.本质是一种动规. 复杂度 ...

最新文章

  1. Callable、Future和FutureTask
  2. synchronized同步对象锁
  3. 面试时,当你有权提问时,别客气,这是个逆转的好机会(内容摘自Java Web轻量级开发面试教程)...
  4. 六种排序算法的JavaScript实现以及总结
  5. 将图形以JPEG格式输出到浏览器或文件
  6. 离合器半联动点的判断和技巧 为您支招
  7. Vue.js 极简小例: 点击事件
  8. Bootstrap treeview 添加滚动条后 搜索完成滚动条自动移动到对应位置
  9. 我们做自媒体是怎么失败的?
  10. webgl与opengl技术资讯
  11. 如何理解Spring中的IOC和AOP
  12. LeetCode:每日一题(2020.4.14)
  13. Windows7中被大家忽略的实用七大功能
  14. 怎样学好模拟集成电路设计?
  15. jar文件打不开,用什么打开
  16. c# 金额小写转大写(财务金额)
  17. 基于java的商城后台管理系统计算机毕业设计源码+系统+lw文档+mysql数据库+调试部署
  18. qrCode生成二维码内容
  19. Linux 链路聚合之bond和team
  20. 在字符串中查找一个字符

热门文章

  1. Vscode连接Linux远程终端(免密登录)
  2. VirtualBox安装轻量级Linux系统Boot2Docker
  3. qlv格式的视频转换MP4格式文件,不需要任何软件,一个插件搞定
  4. 苹果无法连接至设备_手机资讯:二手 iPhone 无法下载 App 应如何解决
  5. PHP 求职技能需求
  6. 通过 SSH 在远程和本地系统之间传输文件的 4 种方法
  7. 2022年中国制造业数字化转型研究报告
  8. 赛门铁克 be能备份mysql么,赛门铁克 BE12.5备份exchange 2010 dag问题
  9. Windows更改显示dir命令为ls命令
  10. mysql创建sql文件命令_创建包含sql命令的sql脚本文件