Погодный информер на вашем сайте

Погодный информер на вашем сайте

В этом посте рассказано как сделать простой погодный информер на вашем сайте.

Итак наше цель разработать простой погодный информер, который можно легко встроить на сайт.

Начнем с того, что хочется получить. Целью поста является разработка информера погоды, который бы показывал прогноз погоды на сегодняшний день. Выводить предполагается иконку погоды, среднюю температуре и название периода прогноза (утро, день, вечер, ночь).

Наиболее просто данные о погоде можно узнать сделав, запрос на яндексе по адресу: http://export.yandex.ru/weather-ng/forecasts/{city_id}.xml, где вместо {city_id} необходимо вставить идентификатор вашего города. Сам идентификатор города можно найти по адресу http://weather.yandex.ru/static/cities.xml.

Итак, с данными определились. Если вы загрузите первый файл в браузере, то увидите, что данных там много, нам же нужна взять очень маленький кусоче от них.

Разрабатсываемый информер должен гибко настраиваться, поэтому все настройки вынесем в конфигурационный файл ya.conf.php с приблизительно таким, содержанием:

Данные будем формировать классом, назовем его YaWeather. Конструктор класса примеден ниже:

В конструкторе инициализируется переменная настроек и задается адрес, откуда будем забирать информацию.

На следующем шаге, разрабатываем метод, который будет загрудать файл с прогнозом погоды, разбирать его при момощи simpleXML и формировать массив нужных данных:

Теперь, чтобы не делать много запросов к Яндексу полученную информацию нужно закешировать. Кешируем в обучный файл. Информацию храним 1 час. После чего обновляем. Кеширующий метод представлен ниже:

В следующем методе из кешированиий информации выбираются данные о текущем дне, информация о дне недели и времени суток из числовой заменяется на буквенную. Конечно, это можно было сделат ьпри получении информации. Но еесли вы хотите реализовать информер на нескольких языках, то изменения для перевода нужно делать либо в этом методе, либо переводить названия непосредственно в конфигурационном файле в зависимости от текущей локали.

Все! теперь можно реализовывать вывод, в принципе его можно формировать при помощи шаблонизатора, но для простоты понимания, формирование результирующего html выделено в отдельный метод.(его вы можете заменить чем угодно, это дело ваше).

итак класс готов. Что дальше? Сформируем скрипт weather.php который будет отдавать полученные погодные данные:

Теперь мы имеем полноценный скрипт, выдающий нам погоду на текущий день. Осталось только вставить его не страницу. Вставлять будем при помощи javascript, как модно говорить ajax-запросом. Тестовый пример страницы со вставзой погода приведен ниже:

пример скрипта можно найти тут Информер погоды.

С погодой разобрались! Вам срочно нужно продать свой автомобиль? Нет проблем. Автомобиль выгодно выкупят тут http://www.avto-proffi.ru/srochniy-vikup-avtomobilya, а если вам понадобились срочно деньги выдадут займ, под залог вашего автомобиля на выгодных для вас условиях.

Нет комментариев.
Добавить комментарий
Вам необходимо включить показ изображений в браузере для того чтобы увидеть код

Дайте нам знать, что вы - живой человек. Для нас это важно!
Кликните, если плохо видно

Прежде чем высказать свое мнение, прочитайте пожалуйста: правила

Рейтинг@Mail.ru