CloudCastle Clock API

ScaledClock
in package
implements ClockInterface

FinalYes

Декоратор-масштаб: время течёт быстрее или медленнее реального.

От момента создания прошедшее время внутренних часов умножается на коэффициент: 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
throws
InvalidClockValueException

если коэффициент не положителен или таймзона не распознана

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
throws
InvalidClockValueException

если идентификатор таймзоны не распознан

Attributes
#[Override]
Return values
static
On this page

Search results