PHP开发设计模式:单例模式

PHP开发设计模式:单例模式

特点:

三私一公:私有的静态变量(存放实例),私有的构造方法(防止创建实例),私有的克隆方法 (防止克隆对象),公有的静态方法(对外界提供实例)

应用场景:

程序应用中,涉及到数据库操作时,如果每次操作的时候连接数据库,会带来大量的资源消耗。可以通过单例模式,创建唯一的数据库连接对象。

代码实现

bash 复制代码
<?php
class Singleton
{
	private static $_instance;
	private function __construct(){}
	private function __clone(){}
    //静态方法,单例统一访问入口
    static public function getInstance() {
        if (is_null ( self::$_instance ) || !isset ( self::$_instance )) {
            echo '创建唯一对象';
            self::$_instance = new self ();
        }
       
        return self::$_instance;
    }
}

echo '创建对象a:';
$a =  Singleton::getInstance();
var_dump($a);
echo '<br>';


echo '创建对象b:';
$b =  Singleton::getInstance();
var_dump($b);
echo '<br>';

echo '判断是否是同一个对象:';
var_dump($a === $b); // 输出: bool(true)
?>

运行结果

相关推荐
小小代码狗8 小时前
PHP 常用函数与变量参考文档
开发语言·安全·php
看昭奚恤哭9 小时前
LWIP TCP滑动窗口为TCP ZeroWindow的解决方法
网络·tcp/ip·php
AC赳赳老秦9 小时前
CSDN 技术社区数据采集:OpenClaw 抓取公开技术热帖,生成领域技术热点周报
java·大数据·前端·数据库·python·php·openclaw
啦啦啦啦啦zzzz9 小时前
设计模式:单例模式和工厂模式
c++·单例模式·设计模式·工厂模式
烟漠河洛9 小时前
俄罗斯电商3200亿卢布疯长:跨境支付与多平台订单系统架构解析
mysql·php
wang_xin_88811 小时前
PHP函数
开发语言·php
Immortal__y11 小时前
php函数
开发语言·php
sbjdhjd12 小时前
安全初级 | Upload 文件上传漏洞实操
android·经验分享·安全·网络安全·开源·php·apache
小白说大模型12 小时前
Python 工程化设计模式:AI 项目中的异步流水线与策略模式实战
人工智能·python·设计模式
空杆推不起12 小时前
金融数仓标准化:信贷业务 ODS/DWD/DWS/ADS/DIM 全层级建模指南
单例模式·金融