CloudCastle Clock API

PsrClockAdapter
in package
implements ClockInterface

FinalYes

Адаптер стороннего PSR-20-источника к расширенному контракту пакета (аналог `WrappingClock` из beste/clock).

Любые чужие часы — symfony, lcobucci, ваши собственные — получают timestamp(), microtime(), timezone(), withTimezone() и freeze(), а значит, работают со всеми декораторами пакета.

Table of Contents

Interfaces

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

Methods

__construct()  : mixed
Обернуть сторонний PSR-20-источник.
freeze()  : FrozenClock
Снимок текущего момента источника в замороженные часы.
microtime()  : float
Unix-момент источника с микросекундами.
now()  : DateTimeImmutable
Момент источника (при необходимости — в переопределённой зоне).
timestamp()  : int
Unix-timestamp момента источника.
timezone()  : DateTimeZone
Таймзона выдачи: переопределённая либо зона текущего момента источника.
withTimezone()  : static
Тот же источник в другой таймзоне выдачи.
wrap()  : self
Короткая фабрика: обернуть PSR-20 часы или любой объект с публичным методом `now()`, возвращающим `DateTimeInterface` (легаси-часы без PSR-20).

Methods

__construct()

Обернуть сторонний PSR-20-источник.

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

сторонние часы

$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

wrap()

Короткая фабрика: обернуть PSR-20 часы или любой объект с публичным методом `now()`, возвращающим `DateTimeInterface` (легаси-часы без PSR-20).

public static wrap(object $inner) : self
Parameters
$inner : object

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

Tags
throws
InvalidClockValueException

если у объекта нет публичного метода now()

Return values
self —

адаптер над указанным источником

On this page

Search results