CloudCastle Clock

🇷🇺 Русский · 🇬🇧 English · 🇩🇪 Deutsch · 🇫🇷 Français · 🇪🇸 Español · 🇮🇹 Italiano

CloudCastle Clock

PSR-20 clocks for PHP 8.1+ with deterministic time in tests: 11 clock implementations, nanosecond-precision TimeSpan, Stopwatch, Deadline, DatePoint and CalendarDate. Lightweight dependencies: psr/clock and cloud-castle/inflector.

composer require cloud-castle/clock

Sections

PageContents
Quick startfirst steps in five minutes
Installationrequirements and setup
Examplestypical production and test scenarios
Architecturelayers, contracts, package diagram
Comparisonauto-generated tables with winners
Testingthe quality pipeline and live thresholds
Lifecycleproject mermaid diagrams
FAQfrequent questions

Features

FeatureIn short
SystemClocksystem clock
FrozenClockfrozen clock
MockClockmock clock with virtual sleep
MonotonicClockmonotonic clock
OffsetClockoffset clock
ScaledClockscaled clock
TruncatingClocktruncating clock
StepClockstep clock
QueueClockqueue clock
CallbackClockcallback clock
PsrClockAdapterPSR-20 clock adapter
TimeSpannanosecond-precision duration
Deadlinedeadlines
Stopwatchstopwatch
DatePointapplication-clock moment
ClockHolderglobal clock with scoped substitution
Clockstatic facade
ClockAwareTraitsetter clock injection
CalendarDateCarbon-grade calendar arithmetic
CalendarPeriodcalendar period iteration
ClockSensitiveTraitmocking time in PHPUnit
CalendarDate macrosextending the API without inheritance

🇷🇺 Русский · 🇬🇧 English · 🇩🇪 Deutsch · 🇫🇷 Français · 🇪🇸 Español · 🇮🇹 Italiano