单例模式

这种模式涉及到一个单一的类,该类负责创建自己的对象,同时确保只有单个对象被创建.这个类提供了一种访问唯一的对象的方式,可以直接访问,不需要实例化该类的对象.这种设计模式属于创建型模式.

目的:

在应用程序调用的时候,只能获得一个对象实例

例子

数据库连接

日志

在应用中锁定文件.

eg:

<?php

class Singleton
{
    private static $instance;

    private function __construct()
    {
    }

    private function __clone()
    {
        // TODO: Implement __clone() method.
    }

    public static function getInstance()
    {
        if(self::$instance == null){
            self::$instance = new static();
        }
        return self::$instance;
    }
    public  function  test(){
        return " i am singleton";
    }
}
echo Singleton::getInstance()->test();
原文地址:https://www.cnblogs.com/aln0825/p/15682778.html