Я всегда использовал класс Singleton для объекта реестра в PHP. Как и все классы Singleton, я думаю, что основной метод выглядит так:
class registry
{
public static function singleton()
{
if( !isset( self::$instance ) )
{
self::$instance = new registry();
}
return self::$instance;
}
public function doSomething()
{
echo 'something';
}
}
Поэтому, когда мне нужно что-то из класса реестра, я использую такую функцию:
registry::singleton()->doSomethine();
Теперь я не понимаю, в чем разница между созданием обычной статической функции. Будет ли он создавать новый объект, если я просто использую обычный статический класс.
class registry
{
public static function doSomething()
{
echo 'something';
}
}
Теперь я могу просто использовать:
registry::doSomethine();
Может кто-нибудь объяснить мне, какова функция синглтон-класса. Я действительно этого не понимаю.