CloudCastle Clock API

CallbackClock
in package
implements ClockInterface

FinalYes

Часы из замыкания: каждый вызов `now()` делегируется callback-у.

Максимальная гибкость для тестов и интеграций: последовательности моментов, чтение времени из внешнего источника, любые сценарии, не покрытые готовыми реализациями.

Table of Contents

Interfaces

ClockInterface
Расширенный контракт часов поверх PSR-20.

Methods

__construct()  : mixed
Часы на замыкании.
freeze()  : FrozenClock
Снимок текущего момента в замороженные часы.
microtime()  : float
Unix-момент с микросекундами от callback-а.
now()  : DateTimeImmutable
Момент от callback-а.
timestamp()  : int
Unix-timestamp момента от callback-а.
timezone()  : DateTimeZone
Декларируемая таймзона часов.
withTimezone()  : static
Тот же callback с другой декларируемой таймзоной.

Methods

__construct()

Часы на замыкании.

public __construct(callable(): DateTimeImmutable $factory[, DateTimeZone|non-empty-string|null $timezone = null ]) : mixed
Parameters
$factory : callable(): DateTimeImmutable

поставщик момента

$timezone : DateTimeZone|non-empty-string|null = null

декларируемая таймзона; null — системная

Tags
throws
InvalidClockValueException

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

freeze()

Снимок текущего момента в замороженные часы.

public freeze() : FrozenClock
Attributes
#[Override]
Return values
FrozenClock —

Снимок текущего момента в замороженные часы

microtime()

Unix-момент с микросекундами от callback-а.

public microtime() : float
Attributes
#[Override]
Return values
float —

Unix-момент с микросекундами от callback-а

now()

Момент от callback-а.

public now() : DateTimeImmutable
Attributes
#[Override]
Return values
DateTimeImmutable —

Момент от callback-а

timestamp()

Unix-timestamp момента от callback-а.

public timestamp() : int
Attributes
#[Override]
Return values
int —

Unix-timestamp момента от callback-а

timezone()

Декларируемая таймзона часов.

public timezone() : DateTimeZone
Attributes
#[Override]
Return values
DateTimeZone —

Декларируемая таймзона часов

withTimezone()

Тот же callback с другой декларируемой таймзоной.

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