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

运行结果

相关推荐
万岳软件开发小城1 天前
直播电商系统源码搭建直播带货APP/小程序的完整流程
小程序·php·软件开发·直播带货系统源码·直播电商app开发
Yu_Lijing1 天前
基于C++的《Head First设计模式》笔记——命令模式
c++·笔记·设计模式
天“码”行空1 天前
java的设计模式-----------单例类
java·开发语言·设计模式
Sammyyyyy1 天前
PHP 8.6 新特性预览,更简洁的语法与更严谨的类型控制
android·php·android studio
一条闲鱼_mytube1 天前
智能体设计模式 - 核心精华
人工智能·设计模式
Engineer邓祥浩1 天前
设计模式学习(11) 23-9 组合模式
学习·设计模式·组合模式
Engineer邓祥浩1 天前
设计模式学习(13) 23-11 享元模式
学习·设计模式·享元模式
万岳软件开发小城1 天前
如何用直播电商系统源码低成本打造自己的直播带货APP/小程序?
开源·php·源码·直播带货系统源码·直播带货软件开发·直播带货app开发·电商直播小程序
一颗青果1 天前
常见的网络命令
网络·智能路由器·php
lubiii_1 天前
MCP应用:cursor+hexstrike-ai的安全实战
开发语言·web安全·ai·php