shvoraq / server-time
Test task
0.0.1
2025-04-20 22:26 UTC
Requires
- php: ^8.3
- ext-curl: *
- guzzlehttp/guzzle: ^7.8
- psr/clock: ^1.0
Requires (Dev)
- phpunit/phpunit: ^9.5.13
README
Описание
Этот проект включает в себя сервис времени (ServerTimeService
), который зависит от клиента для получения временных зон по IP-адресу. Также реализована утилита Clock
, которая работает с временем и временными зонами.
Для каждого клиента нужен отдельный маппер, в клиенте (IpGeoLocationClient
) если не передан маппер используется (IpGeoLocationMapper
).
Установка и настройка
Убедитесь, что у вас установлен Composer.
Подключаем пакет
composer require shvoraq/server-time
- Для инициализации прописываем
use SlotCatalog\ServerTime\Clients\IpGeoLocationClient;
use SlotCatalog\ServerTime\Services\ServerTimeService;
$client = new IpGeoLocationClient('api_key');
$service = new ServerTimeService($client);
$getDateTimeByMyServer = $service->getClock();
$getDateTimeByIp = $service->getClock('8.8.8.8');
- Для тестов запускаем
./vendor/bin/phpunit