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 分钟前
本地化部署LLM用于美术史问答:一间美术教室的实践记录
开发语言·php
geovindu4 小时前
rust: Composite Pattern
开发语言·后端·设计模式·rust·组合模式
PHP实战开发录4 小时前
MySQL字段加索引为什么没变快
数据库·mysql·php·开发
狗凯之家源码网6 小时前
PHP 用户反馈系统源码深度评测与实战指南
开发语言·php·用户反馈系统
YYYing.8 小时前
【设计模式系列 (七) 】桥接模式
c++·后端·设计模式·桥接模式
AC赳赳老秦8 小时前
数据采集全链路审计留痕:用 OpenClaw 实现合规审计与追溯
开发语言·汇编·python·php·swift·deepseek·openclaw
aixingpan10 小时前
aixingpan.cn API开发文档:api_docs_bichart_natalvssecondary2接口指南
前端·php
乃嘿仔13 小时前
AI 热点日报 · 2026-10-01
开发语言·人工智能·php
ai小陈14 小时前
GPU服务器租用部署实战:用systemd守护模型推理服务
运维·服务器·人工智能·ai·php·gpu算力
Sirens.14 小时前
Java多线程实例:单例模式、阻塞队列、线程池与定时器
java·开发语言·单例模式