Допустимо ли вызывать методы инициализации внутри статического класса, чтобы избежать использования автозагрузчика?

Скажем, у меня есть случай, когда мне нужен вспомогательный класс, который должен иметь статические методы, но эти методы нуждаются в статическом объекте для манипулирования.

Я бы предпочел, чтобы помощник был автономным, поэтому мне нужно только включить файл. В качестве альтернативы можно добавить вызов инициализации к какому-либо автозагрузчику, но я бы предпочел этого избежать.

Учитывая, что вы не можете использовать __construct метод здесь, потому что класс никогда не создается, это приемлемая альтернатива?

class HelperClass
{
private static $property;
private static function init()
{
if (!isset(self::$property))
self::$property = new stdClass;
}
static function addSomething($key, $value)
{
self::$property->$key = $value;
}
static function getObject()
{
if (isset(self::$property))
return self::$property;
else
return new stdClass;
}
}

1

Решение

Задача ещё не решена.

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]