@hulktoster

Как бы выглядел такой React код на php?

Пишу сайт на одной CMS которая построена на php. Сам php я не знаю, так как я front-end разработчик. И пишу на js(React.js). Учитывая что писал сайт на CMS то весь сайт удалось сделать просто нажимая кнопки в админке самой CMS. Но нужно сделать небольшой файлик php который отобразит погоду конкретного города на страничке. Точнее всего три поля и значения. Значения получаю с помощью API :
http://api.openweathermap.org/data/2.5/weather?q=London,uk&appid=32ae008b1c7259324aa50450687fabf5&units=metric


Суть задачи отобразить на странице вот такое:
City: London
Temparuture: 22.05
Pressure: 1012


А само API (не считая не нужных мне полей) выглядит вот так:
{"main":{"temp":22.05,"pressure":1012},
"name":"London"}

Написал React.js код который выводит погоду:

class App extends React.Component {
  state = {
    city: "",
    temp: "",
    pressure: ""
  }    
      
  componentDidMount() {
    this.fetchData();
  }

  fetchData = async () => {
    const response = await fetch(`http://api.openweathermap.org/data/2.5/weather?q=London,uk&appid=32ae008b1c7259324aa50450687fabf5&units=metric`);
    const data = await response.json();
    this.setState({
      city: data.name,
      temp: data.main.temp,
      pressure: data.main.pressure
    });
  };
        
  render() {
    return (
      <div className="App">
        City:{this.state.city}
        Temparuture:{this.state.temp}
        Pressure:{this.state.pressure}
      </div>
    );
   }
  }


К сожелению очень мало времени до момента когда должен показать проделанную работу и php "по быстрому" изучить не получится. Возможно здесь есть разработчики которые знают и PHP и React.js, и смогут мне чем-то помочь.
  • Вопрос задан
  • 768 просмотров
Решения вопроса 1
cr1gger
@cr1gger
Все дороги ведут в Рим — встретимся в Риме!
<?php
function getWeather($city)
{
    $jsn = file_get_contents('http://api.openweathermap.org/data/2.5/weather?q='.$city.',uk&appid=32ae008b1c7259324aa50450687fabf5&units=metric');
    $jsn = json_decode($jsn);
    
    echo $jsn->main->temp; // Выводит температуру
    echo '<br>'; // Перевод строки
    echo $jsn->main->pressure; // Выводит pressure
    echo '<br>'; // Перевод строки
    echo $city; // Выводит город
    
}

// Вызов функции: 
getWeather('London');
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы