iis服务器助手广告
返回顶部
首页 > 资讯 > 后端开发 > PHP编程 >php 单例模式
  • 503
分享到

php 单例模式

php单例模式创建设计模式 2023-08-31 16:08:30 503人浏览 安东尼
摘要

1,单例模式,属于创建设计模式,简单来说就是一个类只能有一个实例化对象,并提供一个当前类的全局唯一可访问入口; 2,例子

1,单例模式,属于创建设计模式,简单来说就是一个类只能有一个实例化对象,并提供一个当前类的全局唯一可访问入口;

2,例子

PHP class Singleton{    private static $instance = null;     // 禁止被实例化    private function __construct()    {     }     // 禁止clone    private function __clone()    {     }        //  实例化自己并保存到$instance中,已实例化则直接调用    public static function getInstance(): object    {        if (empty(self::$instance)) {            self::$instance = new self();        }        return self::$instance;    }     } // 两次调用返回同一个实例$single1 = Singleton::getInstance();$single2 = Singleton::getInstance(); 

 可继承的单例模式:

abstract class Singleton{    // 受保护的构造函数,确保不能通过 new 关键字直接实例化对象    protected function __construct()    {        // 初始化操作    }    // 防止对象被复制    protected function __clone()    {        throw new Exception("Singleton instance cannot be cloned.");    }    // 防止对象被序列化    protected function __wakeup()    {        throw new Exception("Singleton instance cannot be serialized.");    }    // 获取实例的静态方法    public static function getInstance()    {        //这里用到了延迟静态绑定,static指向的是调用的类,而不是定义的类        if (!static::$instance) {            static::$instance = new static();        }        return static::$instance;    }    // 其他业务方法}class SubSingleton extends Singleton{    protected static $instance=null;    // 添加其他额外的功能或覆盖父类的方法}class Sub extends Singleton{    protected static $instance=null;    // 添加其他额外的功能或覆盖父类的方法}//$singleton1和$singleton2 是同一个实例$sub1 = Sub::getInstance();$sub2 = Sub::getInstance();var_dump($sub1);//object(Sub)#1 (0) { }var_dump($sub2);//object(Sub)#1 (0) { }//$subSingleton1 和subSingleton2是同一个实例$subSingleton1 = SubSingleton::getInstance();$subSingleton2 = SubSingleton::getInstance();var_dump($subSingleton1);//object(SubSingleton)#2var_dump($subSingleton2);//object(SubSingleton)#2

来源地址:https://blog.csdn.net/zhouchang111/article/details/131956958

--结束END--

本文标题: php 单例模式

本文链接: https://www.lsjlt.com/news/386289.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • php 单例模式
    1,单例模式,属于创建设计模式,简单来说就是一个类只能有一个实例化对象,并提供一个当前类的全局唯一可访问入口; 2,例子 ...
    99+
    2023-08-31
    php 单例模式 创建设计模式
  • php中单例模式
    这篇文章主要为大家展示了php中单例模式,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带大家一起来研究并学习一下“php中单例模式”这篇文章吧。php有什么用php是一个嵌套的缩写名称,是英文超级文本预处理语言,它的语法混合...
    99+
    2023-06-06
  • PHP入门指南:单例模式
    在软件开发中,常常遇到多个对象需要访问同一个资源的情况。为了避免资源冲突以及提高程序的效率,我们可以使用设计模式。其中,单例模式是一种常用的创建对象的方式,即保证一个类只有一个实例,并提供全局访问。本文将为大家介绍如何使用PHP实现单例模式...
    99+
    2023-05-20
    PHP 单例模式 入门指南
  • php单例模式怎么使用
    使用PHP实现单例模式的一种常见方式是通过定义一个私有的静态属性来保存类的实例,并使用一个公共的静态方法来获取该实例。 以下是一个简...
    99+
    2023-10-21
    php
  • PHP单例模式如何实现
    这篇文章主要介绍“PHP单例模式如何实现”,在日常操作中,相信很多人在PHP单例模式如何实现问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”PHP单例模式如何实现”的疑惑有所帮助!接下来,请跟着小编一起来学习吧...
    99+
    2023-07-04
  • php单例模式怎么实现
    PHP单例模式可以通过以下步骤实现:1. 创建一个类,并将构造函数设为私有,以防止外部直接实例化该类。2. 在类内部创建一个静态私有...
    99+
    2023-09-29
    php
  • PHP中单例模式的示例分析
    这篇文章将为大家详细讲解有关PHP中单例模式的示例分析,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。一、什么是单例模式?含义     作为对象的创建模式,单例模式确保某一个类...
    99+
    2023-06-20
  • php单例模式和工厂模式怎么应用
    单例模式和工厂模式是两种设计模式,可以在PHP中进行应用。1. 单例模式:单例模式是一种保证一个类只有一个实例对象的模式。在PHP中...
    99+
    2023-09-29
    php
  • PHP中如何使用单例模式?
    非常抱歉,由于您没有提供文章标题,我无法为您生成一篇高质量的文章。请您提供文章标题,我将尽快为您生成一篇优质的文章。...
    99+
    2024-05-21
  • python 单例模式
    单例模式 多次实例化的结果指向同一个实例   单例模式实现方式 方式一: 1 import settings 2 3 class MySQL: 4 __instance = None 5 6 def __...
    99+
    2023-01-30
    模式 python
  • PHP中单例模式有什么用
    这篇文章主要介绍PHP中单例模式有什么用,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!单例模式绝对是在常用以及面试常问设计模式中排名首位的。一方面它够简单,三言两语就能说明白。另一方面,它又够复杂,它的实现不仅仅只有...
    99+
    2023-06-20
  • python单例模式
    正在写python单例模式的一些东西,查到资料,记录一下。原文地址:http://hi.baidu.com/tianfeng1015/blog/item/f0373dd0fbb8bbcb50da4bca.html 我们可以使用 __new_...
    99+
    2023-01-31
    模式 python
  • Java设计模式-单例模式
    单例模式(Singleton Pattern)是 Java 中最简单的设计模式之一。这种类型的设计模式属于创建型模式,它提供了一种创建对象的最佳方式。这种模式涉及到一个单一的类,该类负责创建自己的对象,同时确保只有单个对象被创建。这个类提供...
    99+
    2023-06-05
  • 【python 设计模式】单例模式
    单例模式(Singleton Pattern)是一种常用的软件设计模式,该模式的主要目的是确保某一个类只有一个实例存在。当你希望在整个系统中,某个类只能出现一个实例时,单例对象就能派上用场。 比如,某个服务器程序的配置信息存放在一个文件中...
    99+
    2023-01-31
    模式 python
  • Python设计模式——单例模式
    一、单例模式理论单例模式:    保证某一个类只有一个实例,而且在全局只有一个访问点优点:    1、由于单例模式要求在全局内只有一个实例,因而可以节省比较多的内存空间    2、全局只有一个接入点,可以更好地进行数据同步控制,避免多重占用...
    99+
    2023-01-31
    模式 Python
  • Android设计模式之单例模式实例
    目录一、概念1.1 单例类1.2 优缺点1.2.1 优点1.2.2 缺点二、创建单例模式的方法2.1 饿汉式2.2 懒汉式2.2.1 懒汉式(非线程安全)2.2.2 懒汉式(线程安全...
    99+
    2023-05-16
    Android单例模式 Android设计模式单例模式
  • php单例模式怎么正确使用
    正确使用 PHP 单例模式的步骤如下:1. 创建一个类,将其构造函数设置为私有,以防止通过 `new` 关键字创建对象。2. 在类中...
    99+
    2023-09-13
    php
  • 一文带你搞懂PHP单例模式
    目录简介场景优点缺点示例代码简介 单例模式是创建型对象的一种,用于如何优雅的创建对象。 让一个类最多产生一个对象。 场景 只需要一个对象就能解决并且要使用多次的场景,比如框架的数据库...
    99+
    2022-12-20
    PHP单例模式 PHP设计模式
  • 设计模式中的单例模式与PHP中的应用
    引言:设计模式是在软件设计过程中,经验丰富的软件工程师总结出来的一些解决特定问题的经典模式。其中,单例模式是最常用的设计模式之一。单例模式确保一个类只有一个实例,并提供了一个全局访问点来访问这个实例。在PHP中,单例模式被广泛应用于各种场景...
    99+
    2023-10-21
    单例模式 设计模式 PHP应用
  • javascript 单例/单体模式(Singleton)
    单例模式的三个特点: 1,该类只有一个实例 2,该类自行创建该实例(在该类内部创建自身的实例对象) 3,向整个系统公开这个实例接口 Java中大概是这个样子 复制代码 代码如下: c...
    99+
    2022-11-21
    单例 单体模式
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作