softlabnet/weather is a Laravel package for weather test example.
It currently has 0 GitHub stars and 9 downloads on Packagist (latest version 0.1).
Install it with composer require softlabnet/weather.
Discover more Laravel packages by softlabnet
or browse all Laravel packages to compare alternatives.
Last updated
Пакет предназначен для получения данных о погоде через сторонние ресурсы
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
Чтобы не запрашивать каждый раз данные от источника, для каждой точки данные хранятся в кэше.
Сейчас из ответа берется только температура.