这就是如何为php编写一个单例类


is this how to write a Singleton class for php?

如果我想正确地编写一个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中的单例。我唯一的修改是限制克隆操作。这可以通过在__clone魔术方法

中抛出异常来实现。