🇷🇺 Русский · 🇬🇧 English · 🇩🇪 Deutsch · 🇫🇷 Français · 🇪🇸 Español · 🇮🇹 Italiano
CloudCastle Clock
PSR-20 часы для PHP 8.1+ с детерминированным временем в тестах: 11 реализаций часов, TimeSpan с наносекундной точностью, Stopwatch, Deadline, DatePoint и CalendarDate. Лёгкие зависимости: psr/clock и cloud-castle/inflector.
composer require cloud-castle/clock
Разделы
| Страница | Что внутри |
|---|---|
| Быстрый старт | первые шаги за пять минут |
| Установка | требования и настройка |
| Примеры | типовые сценарии продакшна и тестов |
| Архитектура | слои, контракты, диаграмма пакета |
| Сравнение с аналогами | автогенерируемые таблицы с победителями |
| Тестирование | конвейер качества и живые пороги |
| Жизненный цикл | mermaid-диаграммы проекта |
| FAQ | частые вопросы |
Возможности
| Возможность | Кратко |
|---|---|
| SystemClock | системные часы |
| FrozenClock | замороженные часы |
| MockClock | мок-часы с виртуальным сном |
| MonotonicClock | монотонные часы |
| OffsetClock | часы со смещением |
| ScaledClock | часы с масштабом времени |
| TruncatingClock | усечение моментов |
| StepClock | шаговые часы |
| QueueClock | часы-очередь |
| CallbackClock | часы на замыкании |
| PsrClockAdapter | адаптер PSR-20 часов |
| TimeSpan | длительность с наносекундной точностью |
| Deadline | дедлайны |
| Stopwatch | секундомер |
| DatePoint | момент от часов приложения |
| ClockHolder | глобальные часы со скоуп-подменой |
| Clock | статический фасад |
| ClockAwareTrait | внедрение часов сеттером |
| CalendarDate | календарная работа уровня Carbon |
| CalendarPeriod | итерация календарного периода |
| ClockSensitiveTrait | подмена времени в PHPUnit |
| Макросы CalendarDate | расширение API без наследования |
🇷🇺 Русский · 🇬🇧 English · 🇩🇪 Deutsch · 🇫🇷 Français · 🇪🇸 Español · 🇮🇹 Italiano