🇷🇺 Русский · 🇬🇧 English · 🇩🇪 Deutsch · 🇫🇷 Français · 🇪🇸 Español · 🇮🇹 Italiano
FAQ
Wie unterscheidet sich das Paket von symfony/clock? Es ist eine Obermenge: neben System-, Mock- und monotonen Uhren bietet es Dekoratoren für Versatz, Skalierung und Kürzung, Schritt-Uhren und eine Warteschlange, TimeSpan, Deadline, Stopwatch sowie günstige timestamp()/microtime(). Dazu CalendarDate — ein Kalender auf Carbon-Niveau mit Lokalisierung. Leichtgewichtige Abhängigkeiten: psr/clock und cloud-castle/inflector (ohne Polyfills und ICU).
Ersetzt es Carbon? Ja, für die meisten Szenarien. CalendarDate bietet eine Carbon-paritätische Kalender-API: Monats-/Jahresarithmetik mit Überlaufkontrolle (addMonthsNoOverflow()), Prädikate, Differenzen, Navigation, Formatter, deterministisches Parsen relativer Zeichenketten und diffForHumans() in 6 Sprachen ohne ICU/ext-intl. Die einzige Lücke ist die enge Laravel-Integration (Fassaden, Eloquent-Datum-Casts).
Warum akzeptiert TimeSpan keine Monate? Die absolute Dauer eines Monats ist nicht definiert (28–31 Tage), daher ist TimeSpan eine exakte Dauer in Nanosekunden. Für die Kalenderarithmetik von Monaten/Jahren verwenden Sie CalendarDate (addMonthsNoOverflow(), addYears()).
Ist ClockHolder thread-sicher? Wie jeder statische Zustand in PHP — innerhalb eines einzelnen Prozesses. In swoole/parallel-Umgebungen injizieren Sie ClockInterface explizit.
Wie teuer ist now()? Auf dem Niveau der besten Alternativen (siehe Vergleich); timestamp() ist deutlich günstiger als now()->getTimestamp() bei jeder Uhr.
🇷🇺 Русский · 🇬🇧 English · 🇩🇪 Deutsch · 🇫🇷 Français · 🇪🇸 Español · 🇮🇹 Italiano