MENU

设计模式:单例模式(Singleton)

February 4, 2020 • PHP 设计模式

简介

单例模式的作用是保证程序在整个的生命周期中,单例类的实例只有一个,即全局只有一个访问入口。

实现

<?php

class Signleton
{
    /**
     * 类的实例
     *
     * @var Singleton
     */
    private static $instance;

    /**
     * 获取唯一实例
     *
     * @return Singleton
     */
    public static function getInstance()
    {
        if (null === static::$instance) {
            static::$instance = new static;
        }

        return static::$instance;
    }

    /**
     * 构造函数私有化,禁止在外部实例化
     */
    private function __construct()
    {
    }

    /**
     * 防止实例被克隆
     */
    private function __clone()
    {
    }

    /**
     * 防止被反序列化
     */
    private function __wakeup()
    {
    }
}