Production-ready PHP 8.1+ package (CloudCastle Clock).

Maintainers

Package info

gitverse.ru/cloud-castle/clock

Homepage

Issues

Documentation

pkg:composer/cloud-castle/clock

Transparency log

Statistics

Installs: 24

Dependents: 5

Suggesters: 0

v1.0.5 2026-07-18 19:15 UTC

This package is auto-updated.

Last update: 2026-07-19 13:46:00 UTC


README

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

CloudCastle Clock

CloudCastle Clock

Packagist Version Downloads PHP Version License

Production-ready PHP 8.1+ package (CloudCastle Clock).

Установка

composer require cloud-castle/clock

Требуется PHP 8.1+.

Быстрый старт

<?php

use CloudCastle\Clock\Example;

// TODO: пример использования пакета

Возможности

  • PSR-20 совместимые часы + 18 реализаций: SystemClock, MockClock, FrozenClock, MonotonicClock, OffsetClock, ScaledClock, TruncatingClock, CallbackClock, адаптер PsrClockAdapter, трейты ClockAwareTrait/AdjustsTimeTrait.
  • Duration, Stopwatch, DatePoint — интервалы, измерение времени, неизменяемый момент.
  • Нормализация таймзон, заморозка/сдвиг/масштаб времени для детерминированных тестов.

Сравнение с аналогами

Пять популярных аналогов, четыре оси. Интероперабельность подтверждена tests/Integration/CompetitorInteroperabilityTest.php; производительность и память измерены в изолированных процессах (100 000 вызовов now(), минимум из трёх прогонов, PHP 8.1).

Функциональность

Возможность🏆 CloudCastlesymfony/clocklcobucci/clockbeste/clockergebnis/clocknesbot/carbon
PSR-20
Frozen/Mock для тестов⚠️
Монотонные часы (без скачков)
Offset / Scaled / Truncating
Duration + Stopwatch⚠️
Нормализация таймзон⚠️⚠️⚠️⚠️
Внешние зависимости✅ 00000много
Покрытие🏆 полноевысокоебазовоебазовоебазовоеиное (дата-либа)

Производительность

ПакетВремя (100 000× now())Итог
🏆 CloudCastle648 мсбыстрейший
lcobucci/clock648 мснаравне
ergebnis/clock649 мснаравне
symfony/clock959 мсна 48% медленнее
beste/clock1 497 мсв 2,3× медленнее
nesbot/carbon7 285 мсв 11× медленнее

Безопасность и корректность

Свойство🏆 CloudCastlesymfonylcobuccibesteergebniscarbon
Неизменяемый момент (DateTimeImmutable)
Монотонность (защита от скачка часов)
Детерминированные тесты (freeze/mock)⚠️
Явная нормализация таймзоны⚠️⚠️⚠️⚠️
Итог🏆 максимумвысокийсреднийсреднийсреднийсредний

Использование памяти

ПакетПиковая памятьИтог
🏆 CloudCastle7 258 KBминимум (наравне с лёгкими)
symfony / lcobucci / beste / ergebnis7 258 KBнаравне
nesbot/carbon10 895 KB+50% памяти

Вывод: CloudCastle Clock — самый быстрый, самый лёгкий и функционально богатейший (18 реализаций против одного SystemClock у большинства аналогов).

Разработка

composer install
composer check    # линтеры + статический анализ + тесты
composer fix      # автоисправления (Rector, PHP CS Fixer, PHPCBF)
composer ci       # полный CI-пайплайн локально

Полный список команд с описаниями: composer run-script --list.

Документация

Лицензия

MIT © CloudCastle (alex-4-17@yandex.ru)

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