Size: a a a

Генератор непрочитанных сообщений

2020 October 28

AK

Alexander Kladov in Генератор непрочитанных сообщений
кстати если конфигурировать клиент то тебе и не нужно будет как-то отдельное header'ы хранить
источник

С

Санжар in Генератор непрочитанных сообщений
Alexander Kladov
в общем главный поинт, не нужно обращаться к глобальному стейту в твоем сервисе
а как тогда лучше многие параметры вроде lat/lon/lang/limit добавлять?
источник

С

Санжар in Генератор непрочитанных сообщений
в конструкторе все?
источник

AK

Alexander Kladov in Генератор непрочитанных сообщений
Санжар
а как тогда лучше многие параметры вроде lat/lon/lang/limit добавлять?
через конструктор
источник

AK

Alexander Kladov in Генератор непрочитанных сообщений
ну широту долготу нет
источник

ЕР

Евгений Ромашкан... in Генератор непрочитанных сообщений
Dmitriy Danilov
Вкидывать бабки в непонятно шо и в перспективе через 40 лет оттуда шото поиметь?
Звучит как ПФР
источник

AK

Alexander Kladov in Генератор непрочитанных сообщений
это ты уже будешь пихать когда тебе непосредственно нужно получить погоду
источник

AK

Alexander Kladov in Генератор непрочитанных сообщений
т.е. будет что-то вроде
public function get(int $lat, int $long) { return ... }
источник

С

Санжар in Генератор непрочитанных сообщений
Alexander Kladov
через конструктор
4-5 элементов в конструкторе не будем перебором?
источник

AK

Alexander Kladov in Генератор непрочитанных сообщений
ну какие 4?
источник

AK

Alexander Kladov in Генератор непрочитанных сообщений
у тебя большинство параметров относятся к вызову метода получения погоды, а не к конфигурации сервиса
источник

С

Санжар in Генератор непрочитанных сообщений
Alexander Kladov
у тебя большинство параметров относятся к вызову метода получения погоды, а не к конфигурации сервиса
А, понял. По факту можно limit/hours в конфигах оставить
источник

AK

Alexander Kladov in Генератор непрочитанных сообщений
я хз что они значат, но наверное
источник

AK

Alexander Kladov in Генератор непрочитанных сообщений
смысл имхо простой, если значение нужно постоянно и оно не меняется, то оно конфигурируется на старте приложения
источник

С

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

AK

Alexander Kladov in Генератор непрочитанных сообщений
Санжар
понял-принял мысль, пожалуй да, надо так переделать. еще насчет интерфейса поверх газзла не понял мысль
ну в конструктор будешь принимать не Guzzle\Client, а свой ClientInterface какой-нибудь
источник

AK

Alexander Kladov in Генератор непрочитанных сообщений
или WeatherClientInterface
источник

RV

Roma Vandolyak in Генератор непрочитанных сообщений
Санжар
понял-принял мысль, пожалуй да, надо так переделать. еще насчет интерфейса поверх газзла не понял мысль
не прямая зависимость
источник

ЕР

Евгений Ромашкан... in Генератор непрочитанных сообщений
Санжар
Я написал базовый сервис для получения температуры в Москвабаде через ЯндексПогоду.

Там имеется апи, которое в таком формате примерно:

GET https://api.weather.yandex.ru/v2/informers?
lat=<широта>
& lon=<долгота>
& [lang=<язык ответа>]

X-Yandex-API-Key: <значение ключа>


Я написал сервис:
https://github.com/forszaken/delivery/blob/master/app/Services/WeatherService.php

Где делается запрос на это апи. Параметры к запросу в отдельном методе подготавливаются, сами параметры редактируются в config/weather.php
Как можно сделать лучше, в чем минусы подхода?
Жесть
0. Заюзать cs fixer
1. protected поля!?
2. Тайпхинты для полей? Указание типов для полей?
3. Установку хедеров лучше в конфиг, хоть фабрику, хоть csa_guzzle какой-нить
4.
@return mixed
5. Что get()?
6.
return json_decode($response->getBody());
смапить бы на DTO и вернуть её
7. Обращения к конфигу из класса!? Пол класса обращения к конфигу!?
источник

RV

Roma Vandolyak in Генератор непрочитанных сообщений
и нет вендор лока
источник