php单例模式

ByWhat'sUs

php单例模式

什么是单例

单例对象的类必须保证只有一个实例存在,也就是对于某一个功能只能实例化一个对象。

如何设计单例

单例的核心是,实例一次生成,全局唯一,多次调用。因此在单例模式必须包含三要素:

1:私有化构造函数,私有化clone。也就是不能new,不能clone。
2:拥有一个静态变量,用于保存当前的类。
3:提供一个公共的访问入口。

用PHP实现单例模式

<?php
/**
 * Class Singleton 单例类实现
 */
class Singleton
{
    // 保存实例的静态对象
    private static $getInstance;
    // 私有化构造方法
    private function __construct()
    {
    }
    // 私有化clone方法
    private function __clone()
    {
    }
    /**
     * 声明静态调用方法
     */
    public static function getInstance()
    {
        if (!self::$getInstance) {
            self::$getInstance = new self();
        }
        return self::$getInstance;
    }
}
$a = Singleton::getInstance();
$b = Singleton::getInstance();
// 判断是否是一个实例
var_dump($a === $b);  // true一个对象

About the author

What'sUs administrator

Leave a Reply

PHP Code Snippets Powered By : XYZScripts.com