CloudCastle Clock API

ClockHolder
in package

FinalYes

Глобальный слот часов приложения.

Позволяет коду без внедрения зависимостей брать текущие часы из одной точки, а тестам — подменять их на управляемые. Без явной установки возвращает SystemClock в системной таймзоне. Все методы статические; создавать экземпляры не требуется.

Table of Contents

Methods

get()  : ClockInterface
Текущие глобальные часы; без установки — системные.
isSet()  : bool
Установлены ли часы явно.
now()  : DateTimeImmutable
Шорткат: текущий момент глобальных часов.
reset()  : void
Сбросить слот к дефолтным системным часам.
set()  : void
Установить глобальные часы (тест подменяет на {@see MockClock}).
within()  : T
Выполнить код с временно подменёнными глобальными часами.

Methods

get()

Текущие глобальные часы; без установки — системные.

public static get() : ClockInterface
Return values
ClockInterface —

Текущие глобальные часы; без установки — системные

isSet()

Установлены ли часы явно.

public static isSet() : bool
Return values
bool —

Установлены ли часы явно

now()

Шорткат: текущий момент глобальных часов.

public static now() : DateTimeImmutable
Return values
DateTimeImmutable —

Шорткат: текущий момент глобальных часов

reset()

Сбросить слот к дефолтным системным часам.

public static reset() : void

set()

Установить глобальные часы (тест подменяет на {@see MockClock}).

public static set(ClockInterface $clock) : void
Parameters
$clock : ClockInterface

глобальный источник времени

within()

Выполнить код с временно подменёнными глобальными часами.

public static within(ClockInterface $clock, callable(): T $callback) : T

Прежнее состояние слота восстанавливается всегда — и при штатном возврате, и при исключении из колбэка.

Parameters
$clock : ClockInterface

часы на время выполнения колбэка

$callback : callable(): T

выполняемый код

Tags
template
Return values
T —

результат колбэка

On this page

Search results