PHP实现单例模式

时间:2020-05-10

单例模式,属于创建类型的一种常用的软件设计模式。通过单例模式的方法创建的类在当前进程中只有一个实例(根据需要,也有可能一个线程中属于单例,如:仅线程上下文内使用同一个实例)

class Test
{
    private static $obj = null;

    private function __construct()
    {
    }

    private function __clone()
    {
    }

    /**
     * 获取实例
     * @return Test|static
     */
    public static function getInstance()
    {
        if (self::$obj === null) {
            self::$obj = new self();
        }
        return self::$obj;
    }
}

$t = Test::getInstance();
$t2 = Test::getInstance();
var_dump($t, $t2, $t === $t2);