美文网首页
PHP设计模式之单例模式

PHP设计模式之单例模式

作者: 皮蛋馅儿 | 来源:发表于2019-12-19 14:47 被阅读0次

单例模式需要满足的条件:
1、private的构造函数
2、一个静态成员变量保存类的实例
3、一个访问这个实例的静态方法

<?php

class Single
{

    /**
     * 对象实例
     * @var Single
     */
    private static $instance = null;

    /**
     * 构造器私有化:防止从类外部实例化
     */
    private function __construct()
    {
        echo '这里 new class <br>';
    }

    /**
     * 克隆方法私有化:防止从外部克隆对象
     */
    private function __clone()
    {
    }

    /** 静态方法
     * @return null|Single
     */
    public static function getInstance()
    {
        // 检测当前类属性$instance是否已经保存了当前类的实例
        if (self::$instance === null) {
            // 没有,则创建当前类的实例
            self::$instance = new self();
        }
        return self::$instance;
    }

    /**
     * 测试方法
     * @return string
     */
    public function test()
    {
        return 'this is test';
    }
}

调用测试

\Single::getInstance()->test();
\Single::getInstance()->test();
\Single::getInstance()->test();

运行结果只输出了一次new

这里 new class 

说明使用单例模式,只需要实例化一次,不需要每次都执行new操作,极大降低了资源的耗费。

加我微信公众号【皮蛋馅儿】,一起学习哦~

相关文章

  • 2018-04-08php实战设计模式

    一、单例模式 单例模式是最经典的设计模式之一,到底什么是单例?单例模式适用场景是什么?单例模式如何设计?php中单...

  • 单例模式

    JAVA设计模式之单例模式 十种常用的设计模式 概念: java中单例模式是一种常见的设计模式,单例模式的写法...

  • JAVA设计模式之单例模式

    JAVA设计模式之单例模式

  • Android 设计模式之简单工厂模式

    设计模式系列文章 Android 设计模式之单例模式 Android 设计模式之Builder模式 Android...

  • php 工厂模式

    承接上篇php模式设计之 单例模式,(虽然好像关系不大)。今天讲述第二种基础的模式设计——工厂模式。 那么何为工厂...

  • 设计模式之单例模式详解

    设计模式之单例模式详解 单例模式写法大全,也许有你不知道的写法 导航 引言 什么是单例? 单例模式作用 单例模式的...

  • iOS模式设计之--创建型:1、单例模式

    iOS模式设计之--1、单例模式

  • ThinkPHP设计模式与Trait技术

    阅读原文 设计模式 单例模式 工厂模式 对象注册树 示例 运行 Trait技术 自 PHP 5.4.0 起,PHP...

  • 单例模式Java篇

    单例设计模式- 饿汉式 单例设计模式 - 懒汉式 单例设计模式 - 懒汉式 - 多线程并发 单例设计模式 - 懒汉...

  • 设计模式学习之单例模式

    设计模式之单例模式 1 什么是单例模式 在维基百科中单例模式定义为 单例模式,也叫单子模式,是一种常用的软件设计模...

网友评论

      本文标题:PHP设计模式之单例模式

      本文链接:https://www.haomeiwen.com/subject/eismnctx.html