PHP设计模式之单例模式

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了PHP设计模式之单例模式相关的知识,希望对你有一定的参考价值。

一、什么是单例模式

单例模式是一种常用的软件设计模式。在它的核心结构中只包含一个被称为单例的特殊类。通过单例模式可以保证系统中一个类只有一个实例。即一个类只有一个对象实例

  • 单例模式的应用场景

通常用来数据库连接,日志写入等方面,为了减少资源浪费,减少数据库连接次数,节约资源,提高效率.

三、如何实现

要实现单例模式其实挺简单的,总结起来就一句话:三私一公,四个步骤:

1.私有化构造方法

2.声明一个公开的静态方法用来创建实例

3.声明一个私有的静态变量用来存储第二步创建的实例

4.私有化克隆方法

代码如下:

<?php

class Person

{

    public $name;//姓名

    public $age;//年龄

    //>>3. 声明 一个私有的静态属性用来存储第2步创建的对象

    private static $obj = null;

    //>>1. 私有化构造方法

    private function __construct($name, $age)

    {

        //初始化属性

        $this->name;

        $this->age;

    }

    //>>2. 提供一个公共的静态方法用来创建实例

    public static function CreateObject($name, $age)

    {

         if (!isset(self::$obj)) {

            //创建对象赋值给静态属性$obj

            self::$obj = new Person($name, $age);

        }

        return self::$obj;

    }                                                                           

    //>>4. 私有化克隆方法

    private function __clone()

    {

    }


以上是关于PHP设计模式之单例模式的主要内容,如果未能解决你的问题,请参考以下文章

PHP之单例模式

PHP模式设计之单例模式工厂模式注册树模式适配器模式观察者模式

php 设计模式之单例模式

php 模式设计之单例模式

php设计模式之单例模式

PHP设计模式之单例模式