softlabnet / weather
Weather test example
Installs: 9
Dependents: 0
Suggesters: 0
Security: 0
Stars: 0
Watchers: 1
Forks: 0
Open Issues: 0
pkg:composer/softlabnet/weather
Requires
- php: >=7.1.0
- guzzlehttp/guzzle: ^6.2
- illuminate/support: 5.0.*|5.1.*|5.2.*|5.3.*|5.4.*|5.5.*|5.6.*|5.7.*|5.8.*
This package is auto-updated.
Last update: 2025-12-19 20:23:53 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
Чтобы не запрашивать каждый раз данные от источника, для каждой точки данные хранятся в кэше.
Сейчас из ответа берется только температура.