ScaledClock
in package
implements
ClockInterface
Декоратор-масштаб: время течёт быстрее или медленнее реального.
От момента создания прошедшее время внутренних часов умножается на
коэффициент: scale = 60.0 превращает секунду в минуту. Инструмент
симуляций (ускоренная «прокрутка суток») и длительных сценариев
в нагрузочных тестах. Аналогов у конкурирующих пакетов нет.
Table of Contents
Interfaces
- ClockInterface
- Расширенный контракт часов поверх PSR-20.
Methods
- __construct() : mixed
- Обернуть часы с масштабом времени.
- freeze() : FrozenClock
- Снимок текущего момента в замороженные часы.
- microtime() : float
- Масштабированный unix-момент: точка отсчёта плюс ускоренная дельта.
- now() : DateTimeImmutable
- Текущий масштабированный момент.
- timestamp() : int
- Unix-timestamp масштабированного момента.
- timezone() : DateTimeZone
- Таймзона выдачи: переопределённая либо зона внутренних часов.
- withTimezone() : static
- Тот же масштаб над теми же внутренними часами в другой таймзоне.
Methods
__construct()
Обернуть часы с масштабом времени.
public
__construct(ClockInterface $inner, float $scale[, DateTimeZone|non-empty-string|null $timezone = null ]) : mixed
Parameters
- $inner : ClockInterface
-
декорируемые часы
- $scale : float
-
коэффициент:
>1— быстрее реального,<1— медленнее - $timezone : DateTimeZone|non-empty-string|null = null
-
таймзона выдачи;
null— зона внутренних часов
Tags
freeze()
Снимок текущего момента в замороженные часы.
public
freeze() : FrozenClock
Attributes
- #[Override]
Return values
FrozenClock —Снимок текущего момента в замороженные часы
microtime()
Масштабированный unix-момент: точка отсчёта плюс ускоренная дельта.
public
microtime() : float
Attributes
- #[Override]
Return values
float —Масштабированный unix-момент: точка отсчёта плюс ускоренная дельта
now()
Текущий масштабированный момент.
public
now() : DateTimeImmutable
Attributes
- #[Override]
Return values
DateTimeImmutable —Текущий масштабированный момент
timestamp()
Unix-timestamp масштабированного момента.
public
timestamp() : int
Attributes
- #[Override]
Return values
int —Unix-timestamp масштабированного момента
timezone()
Таймзона выдачи: переопределённая либо зона внутренних часов.
public
timezone() : DateTimeZone
Attributes
- #[Override]
Return values
DateTimeZone —Таймзона выдачи: переопределённая либо зона внутренних часов
withTimezone()
Тот же масштаб над теми же внутренними часами в другой таймзоне.
public
withTimezone(DateTimeZone|non-empty-string $timezone) : static
Связь с внутренними часами сохраняется, точка отсчёта фиксируется заново.
Parameters
- $timezone : DateTimeZone|non-empty-string
-
объект или идентификатор таймзоны
Tags
Attributes
- #[Override]