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

运行结果

相关推荐
攻城狮凌霄7 小时前
PHP接单涨薪系列(七十一):如何用Neo4j构建借贷关系图谱?解析资金流水时空矩阵揪出“砍头息“和“循环贷“
矩阵·php·neo4j
Whisper_Sy7 小时前
Flutter for OpenHarmony移动数据使用监管助手App实战 - 网络状态实现
android·java·开发语言·javascript·网络·flutter·php
码农水水8 小时前
中国邮政Java面试被问:容器镜像的多阶段构建和优化
java·linux·开发语言·数据库·mysql·面试·php
Hx_Ma1611 小时前
单例模式实例
单例模式
CHU72903511 小时前
在线教学课堂APP前端功能:搭建高效线上教学生态
前端·人工智能·小程序·php
catchadmin16 小时前
Laravel12 + Vue3 的免费可商用 PHP 管理后台 CatchAdmin V5.1.1 发布
开发语言·php
茶本无香17 小时前
设计模式之八: 适配器模式解释及应用
java·设计模式·适配器模式
喝可乐的希饭a18 小时前
AI Agent 的九种设计模式
人工智能·设计模式
CHU72903518 小时前
智慧陪伴新选择:陪诊陪护预约小程序的暖心功能解析
java·前端·小程序·php
txinyu的博客18 小时前
常见设计模式
设计模式