这就是为php编写单例类的方法吗?

这就是为php编写单例类的方法吗?,php,object,singleton,Php,Object,Singleton,如果我想正确地编写一个Singleton类,以便最多存在一个SingleClass对象,那么这是正确的方法吗 <?php class SingleClass { static $object; static public function getSingleton() { if(!isset(self::$object)) { self::$object = new SingleClass();

如果我想正确地编写一个Singleton类,以便最多存在一个SingleClass对象,那么这是正确的方法吗

<?php
class SingleClass
{
    static $object;

    static public function getSingleton()
    {
        if(!isset(self::$object))
        {
            self::$object = new SingleClass();
        }
        return self::$object;
    }

    private function __construct()
    {

    }

}
$mySingle1 = SingleClass::getSingleton();   // one object made
$mySingle2 = SingleClass::getSingleton();   // reference to first object returned
$mySingle3 = SingleClass::getSingleton();   // reference to first object returned
?>


如果是这样做的,我如何使用if/else函数检查它?

是的,这是php中的一个单例。我唯一的编辑是限制克隆操作。这可以通过在“克隆魔法”方法中抛出异常来实现,我刚刚给了你一个徽章。为了在三周内通过我的分数,我想我给了他们所有的箭头,说答案是有用的,并说谢谢他们。。。