Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- <?php
- namespace AppWeatherAdapters;
- use AppWeatherClientsClientOpenWeather;
- use AppWeatherTranslatorsTranslatorOpenWeather;
- class ClientOpenWeatherAdapter implements WeatherClientAdapterInterface
- {
- private $client;
- public function __construct(ClientOpenWeather $client)
- {
- $this->client = $client;
- }
- public function getWeather(float $lat,float $lon)
- {
- //Получение данных о погоде от API
- $dataWeather = $this->client->getWeather($lat, $lon);
- if ($dataWeather === null) {
- return null;
- }
- //Трансляция данных из массива в WeatherDTO
- return TranslatorOpenWeather::translate($dataWeather);
- }
- }
- ...
- public function addWeather(
- Request $request,
- ClientOpenWeatherAdapter $clientOpenWeatherAdapter,
- ClientYandexWeatherAdapter $clientYandexAdapter
- ) {
- ...
- $clientOpenWeatherAdapter->getWeather($lat, $lon);
- $clientYandexAdapter->getWeather($lat, $lon);
- ...
- }
- <?php
- return [
- 'YandexWeather' => AppWeatherAdaptersClientYandexWeatherAdapter::class,
- 'OpenWeather' => AppWeatherAdaptersClientOpenWeatherAdapter::class,
- ];
Add Comment
Please, Sign In to add comment