Morfeey
@Morfeey

Что я делаю не так?

Имеется следующий код:
namespace API\Libraries\Path\Subject;


final class SearchOption
{
    private $IsRecurse;

    private static function ClassOption () {
        return new SearchOption();
    }

    public static function Current () {
        $Option = self::ClassOption();
        $Option->IsRecurse = false;
        return $Option;
    }

    public static function Recurse () {
        $Option = self::ClassOption();
        $Option->IsRecurse = true;
        return $Option;
    }

}


Возвращается объект без измененного поля. Почему? Нужен объект именно этого класса и получить его через статический метод. Можно ли вообще так делать ?
  • Вопрос задан
  • 107 просмотров
Пригласить эксперта
Ответы на вопрос 1
usdglander
@usdglander Куратор тега PHP
Yipee-ki-yay
...
    private static function ClassOption () {
        static $instance;
        if (!$instance) {
            $instance = new SearchOption();
        }
        return $instance;
    }
    ...

То что вы хотите сделать, называется Singleton
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы