API для преобразования временной метки по часовому поясу городов.
- Добавление всех зависимостей указанных в файле
composer.json; - Создание каталога
configв корне проекта и добавление в него двух файлов:
db.phpс указанием данных для подключения к БД.
<?php
$hostname = "...";
$username = "...";
$password = "...";
$database = "...";
$port = "...";
$socket = "...";timezonedb.com.phpс указанием ключа для обращения к API timezonedb.com (Ключ можно получить на странице профиля). Это необходимо для сохранения актуальности данных.
<?php
$key = "...";- Выполнить SQL из файлов в каталоге
migrations. - Направить все обращения к сервису на файл
index.php - Для корректной работы тестов, после поднятия работающего сервера нужно заменить в файле
tests/tests.phpзначение переменной$hostна актуальный домен.
- Получения локального времени в городе по переданному идентификатору города и метке времени по UTC+0.
Обращение: http://localhost/TimeZone/getLocalTime/
| Параметр | Тип | Обязательный | Значение |
|---|---|---|---|
| cityId | String | Да | Идентификатор города списка городов (см. migrations/city.sql ) |
| greenwichTimestamp | Int | Да | Временная метка по Гринвичу UTC+0 |
- Обратное преобразование из локального времени и идентификатора города в метку времени по UTC+0.
Обращение: http://localhost/TimeZone/getGreenwichTime/
| Параметр | Тип | Обязательный | Значение |
|---|---|---|---|
| cityId | String | Да | Идентификатор города списка городов (см. migrations/city.sql ) |
| localTimestamp | Int | Да | Временная метка по часовому поясу города с идентификатором cityId |
- Внешний запуск процесса обновления данных.
Обращение: http://localhost/DST/updateAll/
Для периодического запуска процесса обновления данных рекомендуется поставить какой-либо демон выполняющий следующую команду:
php src/services/Worker.php --command=daemon --module=src\\services\\UpdateDst --method=all >/dev/null &
Тестирование выполняются по средствам обращения к самим API и ожидания от них соответствующего ответа.