В основной конфигурации приложения я решил хранить часовой пояс в виде объекта 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')?
Современные инструменты для криптотрейдинга: как технологии помогают принимать решения
Апостиль в Лос-Анджелесе без лишних нервов и бумажной волокиты
Основные этапы разработки сайта для стоматологической клиники
Продвижение своими сайтами как стратегия роста и независимости