Deadline
in package
Дедлайн — момент истечения, привязанный к конкретным часам.
Инкапсулирует пару «часы + момент истечения»: код проверяет isExpired()
и remaining(), не зная, какие часы стоят за дедлайном. В тестах те же
проверки детерминированы через MockClock. Иммутабелен: продление
возвращает новый дедлайн.
Table of Contents
Methods
- after() : self
- Дедлайн через заданную длительность от текущего момента часов.
- expiresAt() : DateTimeImmutable
- Момент истечения дедлайна.
- extendedBy() : self
- Новый дедлайн, продлённый на длительность от текущего момента истечения.
- isExpired() : bool
- Истёк ли дедлайн: текущий момент часов достиг момента истечения.
- remaining() : TimeSpan
- Остаток до истечения; для истёкшего дедлайна — ноль.
- until() : self
- Дедлайн на указанный момент.
Methods
after()
Дедлайн через заданную длительность от текущего момента часов.
public
static after(ClockInterface $clock, TimeSpan|float $duration) : self
Parameters
- $clock : ClockInterface
-
часы, задающие точку отсчёта и проверку
- $duration : TimeSpan|float
-
неотрицательная длительность (или секунды)
Tags
Return values
self —Дедлайн через заданную длительность от текущего момента часов
expiresAt()
Момент истечения дедлайна.
public
expiresAt() : DateTimeImmutable
Return values
DateTimeImmutable —Момент истечения дедлайна
extendedBy()
Новый дедлайн, продлённый на длительность от текущего момента истечения.
public
extendedBy(TimeSpan|float $duration) : self
Parameters
- $duration : TimeSpan|float
-
неотрицательная длительность (или секунды)
Tags
Return values
self —Новый дедлайн, продлённый на длительность
isExpired()
Истёк ли дедлайн: текущий момент часов достиг момента истечения.
public
isExpired() : bool
Return values
bool —Истёк ли дедлайн
remaining()
Остаток до истечения; для истёкшего дедлайна — ноль.
public
remaining() : TimeSpan
Return values
TimeSpan —Остаток до истечения
until()
Дедлайн на указанный момент.
public
static until(ClockInterface $clock, DateTimeImmutable $moment) : self
Parameters
- $clock : ClockInterface
-
часы, по которым проверяется истечение
- $moment : DateTimeImmutable
-
момент истечения
Return values
self —Дедлайн на указанный момент