🇷🇺 Русский · 🇬🇧 English · 🇩🇪 Deutsch · 🇫🇷 Français · 🇪🇸 Español · 🇮🇹 Italiano
TruncatingClock — troncamento dei momenti
Scopo
Decoratore: arrotonda le letture verso il basso al limite di un'unità (TruncationUnit: secondo, minuto, ora, giorno...).
A cosa serve e come usarlo
Chiavi di cache al minuto, raggruppamento di metriche per intervalli: TruncatingClock::toMinute($clock) — alla pari con MinuteClock di beste, ma per qualsiasi unità.
Esempio
$byMinute = TruncatingClock::toMinute(SystemClock::utc());
$byHour = new TruncatingClock(SystemClock::utc(), TruncationUnit::Hour);
$key = 'stats:' . $byHour->now()->format('YmdH');
Anti-pattern
Non è adatto per marche temporali precise degli eventi — i microsecondi vengono scartati intenzionalmente.
Ciclo di vita
flowchart LR
A[Inner clock] -->|12:34:56.789| B[TruncatingClock unit=Minute]
B -->|12:34:00.000| C[Consumer]
Confronto della funzionalità con gli analoghi
| Aspetto | 🏆 CloudCastle | symfony | carbon | lcobucci | beste | ergebnis |
|---|---|---|---|---|---|---|
| Unità di troncamento arbitraria | ✅ | ❌ | ❌ | ❌ | ❌ | ❌ |
| Troncamento al minuto | ✅ | ❌ | ❌ | ❌ | ✅ | ❌ |
| Decoratore su qualsiasi orologio | ✅ | ❌ | ❌ | ❌ | ✅ | ❌ |
| timestamp() economico senza oggetto | ✅ | ❌ | ❌ | ❌ | ❌ | ❌ |
| Totale | 🏆 4 | 0 | 0 | 0 | 2 | 0 |
← Torna all'elenco delle funzionalità
🇷🇺 Русский · 🇬🇧 English · 🇩🇪 Deutsch · 🇫🇷 Français · 🇪🇸 Español · 🇮🇹 Italiano