@MaxYenot

Какие аналоги fetch есть в PHP?

В настоящий момент многие сервисы предоставляют json api.
Я часто делал запросы на JS, чтобы получить json данные из браузера
const url = "https://someurl.website/someJSON.json"
const myRequest = new XMLHttpRequest()
          myRequest.open("GET", url)
          myRequest.responseType = "json"
          myRequest.onload = function(response){
               console.log(response)
          }
          myRequest.send()

json преобразовался в стандартые js массивы, объекты, и далее уже эти данные отображались

Как можно сделать это из PHP?
Т.е. что надо сделать в index.php, чтобы получить json данные, конвертировать их в php-шный массив/объект, и уже из этих данных создать html на сервере? У него есть какая-то событийная ориентированность, как на js? Т.е. сделать запрос, дождаться ответа, и уже после того, как придёт ответ, работать с данными.
  • Вопрос задан
  • 384 просмотра
Решения вопроса 2
sergiks
@sergiks Куратор тега PHP
♬♬
Три популярных способа выполнять веб-запросы в PHP:
  1. file_get_contents() – не самый удобный, но не требует установки зависимостей т.к. является частью ядра PHP
  2. curl – PHP должен быть собран с этой библиотекой, чаще всего на хостингах так и есть по умолчанию.
  3. Guzzle HTTP – устанавливается через Composer и значительно упрощает работу с запросами


В PHP запросы чаще выполняют синхронно, без событий-промисов, хотя такая возможность и появилась.
Выполнили запрос – дождались ответа. В следующей строчке работаете с полученным ответом.
Ответ написан
Комментировать
zkrvndm
@zkrvndm
Архитектор решений
Пример:
<?php

$response = file_get_contents("https://someurl.website/someJSON.json"); // Получаем JSON
$array = json_decode($response, true); // Парcим JSON в массив

print_r($array); // Выводим содержимое массива

А так, учись гуглить, это все легко находится через поиск. Главное задать правильный вопрос, а чтобы задать правильный вопрос достаточно немного подумать. Понимаю, думать не просто, но все же)

P. S. Добавлю, что кроме file_get_contents запросы в PHP можно делать еще через curl:
https://yandex.ru/search/?text=php+curl+%D0%BF%D1%...
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

Похожие вопросы