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

运行结果

相关推荐
牛马也想出海22 分钟前
亚马逊爬虫代理IP:IP类型选择与配置指南
开发语言·php
嘟嘟07172 小时前
SDD 规范驱动开发:从 vibe coding 崩盘到"两次创造"
设计模式·代码规范·vibecoding
梦梦代码精2 小时前
基于UniApp+Vue3+ThinkPHP 8,这套知识付费系统的架构设计有点东西
java·低代码·docker·uni-app·开源·php
无凭3 小时前
拆解 DeerFlow Memory:Agent 的长期记忆到底怎么做?
人工智能·设计模式
iFlyCai4 小时前
iOS中的单例模式详解
ios·单例模式·objective-c·多线程·swift
lxw18449125145 小时前
PHP5、PHP7、PHP8 版本核心区别与特性
人工智能·php
AI直播技术杂谈5 小时前
直播画面突然模糊了,排查了三个小时
开发语言·php
heimeiyingwang5 小时前
【架构实战】可观测性三支柱实战:Metrics、Logging、Tracing 如何统一落地
开发语言·架构·php
AI大法师6 小时前
品牌焕新不只换 Logo:捷豹案例里的触点重构方法
大数据·人工智能·设计模式·新媒体运营
CRMEB8 小时前
商城大促活动策划全流程:从定目标到复盘四阶段
java·开发语言·人工智能·ai·开源·php