softlabnet/weather

Weather test example

0.1 2019-09-19 05:44 UTC

This package is auto-updated.

Last update: 2025-06-19 19:16:19 UTC


README

Пакет предназначен для получения данных о погоде через сторонние ресурсы

Установка

Packagist тормозит с обновлением, положил композер, который подключает покат по симлинку. Нужно дополнительно зайти в папку packages и склонировать с гитхаба:

git clone https://github.com/softlab2/weather.git

С помощью Composer

composer require softlabnet/weather

Публикуем файл настроек

php artisan vendor:publish --provider="Softlab\Weather\WeatherServiceProvider" --tag="weather"

Описание

Пакет предоставляет погодный апи для сайта.

Можно использовать несколько источников данных, для смены источника используется переменная WEATHER_SOURCE в файле .env, по умолчанию источник yandex.

Регистрация источника данных в сервис провайдере приложения:

$this->app['weather']->add('yandex', \Softlab\Weather\Sources\YandexSource::class);

Класс источника данных должен расширять базовый класс \Softlab\Weather\Source и реализовывать интерфейс \Softlab\Weather\SourceInterface:

Метод формирует запрос к источнику данных
public function prepareRequest( Point $point ) : WeatherRequest;

Метод приводит ответ от источника данных к стандартному виду public function prepareResponse( $data ) : WeatherResponse;

Конфигурация для источника данных: url, api key и т.д. находятся в файле config/weather.php

Чтобы не запрашивать каждый раз данные от источника, для каждой точки данные хранятся в кэше.

Сейчас из ответа берется только температура.