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