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
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
Attributes
- #[Override]