Как хранить часовой пояс в конфигурации?

105
16 июня 2019, 06:20

В основной конфигурации приложения я решил хранить часовой пояс в виде объекта DateTimeZone:

class Options
{
    $private $dateTimeZone;
    public function setDateTimeZone(\DateTimeZone $timezone) : void
    {
        $this->dateTimeZone = $timezone;
    }
    public function getDateTimeZone() : object
    {
        return clone($this->dateTimeZone);
    }
}

Если в getDateTimeZone() отдавать не клон объекта, а ссылку на него return $this->dateTimeZone; то в случае любого изменения часового пояса в клиентском коде часовой пояс изменится и в конфигурации. Насколько оправданно решение с клонированием? Может лучше хранить часовой пояс в виде строки (к примеру: $this->dateTimeZone='UTC')?

READ ALSO
Не так отображается формат даты в php

Не так отображается формат даты в php

Для публикаций новостей нашел 1 плагинРешил отредактировать код и столкнулся с такой проблемой

127
C++ в чём заключается ошибка cannot be used as a function?

C++ в чём заключается ошибка cannot be used as a function?

Вроде делал без bool, всё работало, сейчас беда какая-то

132
Выброс исключения без параметров

Выброс исключения без параметров

Читаю статью по исключениям и решил скопировать код оттудаВот код:

147
MessageBox C++. Проблема с выводом строки

MessageBox C++. Проблема с выводом строки

Мне нужно в MessageBox запихнуть stringНа выходе я получаю не нужную строку, а набор китайских иероглифов

122