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)
?>

运行结果

相关推荐
源码师傅3 分钟前
2026最新AI短剧创作系统源码 开发语言:PHP+MYSQL 无限SAAS 含图文搭建教程
开发语言·php·ai短剧创作系统源码·短剧创作系统·短剧创作源码
6+h4 分钟前
【java IO】IO体系结构 + File类详解
java·数据库·php
happymaker06267 分钟前
JDBC(MySQL)——DAY05(DAO设计模式,JDBC事务处理,阿帕奇工具类)
数据库·mysql·设计模式
ZHOUPUYU9 分钟前
PHP文件处理与安全实战——从上传下载到高级操作的完整指南
开发语言·php
Cc琎14 分钟前
api接口分布在多台服务器, 如何同步用户的每日请求次数
java·运维·服务器·redis·php
我不听你讲话10 小时前
LNMP网络服务搭建
linux·php·apache
流水迢迢lst13 小时前
靶场练习day15--php反序列化
开发语言·php
echome88815 小时前
Python 异步编程实战:async/await 从入门到精通
开发语言·python·php
逆境不可逃20 小时前
【从零入门23种设计模式18】行为型之备忘录模式
服务器·数据库·设计模式·oracle·职场和发展·迭代器模式·备忘录模式
Real-Staok20 小时前
(集合)C / C++ 设计模式综合
单例模式·设计模式·代理模式