Skip to content
This repository was archived by the owner on Dec 18, 2022. It is now read-only.

smalex86/metar

Folders and files

NameName
Last commit message
Last commit date

Latest commit

4c3a146 · Sep 27, 2017

History

3 Commits
Sep 27, 2017
Sep 27, 2017
Sep 27, 2017
Sep 27, 2017
Sep 27, 2017
Sep 27, 2017
Sep 27, 2017
Sep 27, 2017
Sep 27, 2017
Sep 27, 2017
Sep 27, 2017
Sep 27, 2017

Repository files navigation

metar

Немного распишу что сделано в этом проекте.

  1. Разработан класс parser (parser.php). В данном классе реализованы возможности для получения данных о погоде (metar) с сервера aviationweather.gov, обработки этой информации через метод getCurrentTempAndTime(). Далее для вывода информации сделан шаблон страницы на основе bootstrap - templatemain.php. В файле index.php реализован сценарий для получения данных о погоде с помощью объекта класса parser, формирование блока для вывода в переменной currentTempBlock и вывод этой информации пользователю через шаблон.
  2. Чтобы накапливать данные в класс parser добавлен функционал для работы с базой данных (структура бд описана в файле metar.sql): метод getLastValueTempFromDB - выдает последнее записанное в базу значение температуры, insertValueToDB - осуществляет вставку строки с температурой и временем в базу данных. Для сбора данных реализован демон (daemon.php), который запускается из консоли и начинает бесконечный цикл с опросом сервера через каждые десять минут. Демон сравнивает текущие данные с сервера с последними записанными в базу данных, если они более новые, то записывает их в базу. Таким образом идет накопление данных.
  3. Реализован вывод суточного графика температуры в файле index.php через шаблон и использование компонента графика (файлы chart.css и chart.js) от shieldui.com. Данный блок фармируется в переменной chartDay в файле index.php, которая затем выводится в теле шаблона. График формируется на основе записей за последние 24 часа с текущего момента из базы данных. В классе parser дополнительно реализован метод для получения значений температуры между начальной и конечной датой - getTempValues.
  4. Кроме этого реализовано два дополнительных компонента для ввода даты начала и конца формирования графика - datetimepicker. В составе класса parser для вычисления значений мин, макс и средней температуры реализован метод getTempMaxMinAvg. Блок для вывода информации по данному пункту формируется в переменных resizeBlock (ввод данных и вывод min, max, avg) и resizeBlock2 (график) файла index.php, которая затем выводиться через шаблон.

Настройки проекта хранятся в файле config.php. Для отладки еще использовал файл logging.php.

Методы класса я реализовал без проверок на содержание переменных и соответствие типам что не очень хорошо конечно.

About

No description or website provided.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published