Задать вопрос
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 Простой Комментировать
Помогут разобраться в теме Все курсы
  • Skillfactory
    Профессия Fullstack веб-разработчик на JavaScript и PHP
    20 месяцев
    Далее
  • Хекслет
    PHP-разработчик
    10 месяцев
    Далее
  • Нетология
    Веб-разработчик с нуля: профессия с выбором специализации
    14 месяцев
    Далее
Пригласить эксперта
Ответы на вопрос 1
usdglander
@usdglander Куратор тега PHP
Yipee-ki-yay
...
    private static function ClassOption () {
        static $instance;
        if (!$instance) {
            $instance = new SearchOption();
        }
        return $instance;
    }
    ...

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

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

Похожие вопросы