Новости Joomla

Обработка HTTP ответа в Joomla 6+. Изменения по сравнению с Joomla 3 - Joomla 5

👩‍💻 Обработка HTTP ответа в Joomla 6+. Изменения по сравнению с Joomla 3 - Joomla 5.В Joomla для выполнения внешних запросов из PHP к сторонним API используется класс Joomla\Http\Http напрямую или же Joomla\Http\HttpFactory, который возвращает для работы преднастроенный по умолчанию класс Http. О работе с HTTP-запросами подробно рассказывалось в статье 2021 года Создание внешних запросов с использованием HttpFactory (Joomla). Некоторые изменения касаются работы с ответами на запросы. Например, наш запрос:
use Joomla\Http\HttpFactory;$http = (new HttpFactory)->getHttp($options, ['curl', 'stream']);$response = $http->get('https://any-url.ru/api/any/endpoint');
Раньше можно было получить код ответа или тело ответа как свойство $response - $response->code или $response->body. Однако, Joomla, начиная с Joomla 4 во многом переходит на стандарты PSR. В частности для работы с HTTP-ответами - на PSR-7. Также хорошая статья на Хабре о PSR-7: PSR-7 в примерах.
Прямое обращение к свойствам code, headers, body объявлено устаревшим в Joomla 6.0.0 и обещают удалить в Joomla 7.0.0.
Вместо этого нужно работать с HTTP-ответом по стандартам PSR-7. Код ответа.Было $response->code. Стало $response->getStatusCode().Заголовки ответа.Было $response->headers. Стало $response->getHeaders().Тело ответа.Было $response->body. Стало (string)$response->getContents().В тело ответа теперь приходит не строка, а поток - объект класса Laminas\Diactoros\Stream. Поэтому его нужно привести к строке (если это json, к примеру): (string)$response->getContents(). Чаще всего в коде Joomla встречается именно такой вариант. Однако, есть и вариант с перемещением указателя чтения на начало потока:
// Получили ответ в виде потока$stream = $response->getBody();// "перемотали" на начало$stream->rewind();// Получили строковый ответ$json = $stream->getContents();
В итоге результат одинаковый.@joomlafeed#joomla #разработка #php

Quantum Manager нужен сообществу, а автору нужна ваша поддержка!

Quantum Manager нужен сообществу, а автору нужна ваша поддержка!Файловый менеджер Quantum — одно...

Файловый менеджер Quantum — одно из самых популярных решений для Joomla, созданное разработчиком из сообщества Joomla, Дмитрием Цымбалом (@tsymbalmitia). Он делает Quantum удобным, безопасным и современным, обновляет его, исправляет уязвимости и отвечает пользователям — всё это в свободное от основной работы время.

Теперь настал момент для следующего шага: развитие проекта требует больше времени и ресурсов.

0 Пользователей и 1 Гость просматривают эту тему.
  • 4 Ответов
  • 1406 Просмотров
*

daik514

  • Осваиваюсь на форуме
  • 15
  • 0 / 0
У меня Joomla 1.5, установилась хорошо, только там куча ненужных материалов, разделов и т.д. появилось по умолчанию, я хочу их удалить, а у меня в перечне материалов нету квадратика куда галочку ставить для отметки статьи на удаления. Получается что можно только отключить, а мне зачем лишний хлам копить(((((
*

SmokerMan

  • Гуру
  • 5290
  • 720 / 26
версия Joomla? (полная), версия PHP?
Используйте поиск по форуму, проблема уже обсуждалась неоднократно.
*

daik514

  • Осваиваюсь на форуме
  • 15
  • 0 / 0
в поиске не нашла подобного((((Joomla 1.5.9 PHP 5.3.3
у меня не появляется именно поля под галочки, не возможно что либо выделить(
*

SmokerMan

  • Гуру
  • 5290
  • 720 / 26
установите последнюю версию Joomla 1.5.24 или какая там сейчас. С сайта Joomla.org
*

Aleks_El_Dia

  • Moderator
  • 3671
  • 353 / 0
  • AEDStudio Joomla! Direction
Отстал от жизни :) 1.5.25
Спам придумали боги в отместку за наши молитвы (с) Рома Воронежский
На молоко: Z369038872422 || R210017695494 || U247040729215 || ЯД 410011288250383
Мигрирую сайты, переношу расширения J!1.0->J!1.5->J!2.5. Более 50 успешных миграций.
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Не могу распаковать jpa архив сайта Akeeba backup. ajax error

Автор smadkz

Ответов: 4
Просмотров: 1905
Последний ответ 26.12.2020, 15:15:15
от stendapuss
ссылка на неопубликованный материал

Автор snoopik

Ответов: 9
Просмотров: 7171
Последний ответ 21.03.2019, 04:50:20
от vasmed
Не могу войти в админку Joomla 1.5

Автор MrSkif

Ответов: 14
Просмотров: 10553
Последний ответ 12.09.2018, 19:36:32
от PaLyCH
Не выбирается материал

Автор zahar

Ответов: 9
Просмотров: 5113
Последний ответ 23.01.2018, 12:51:18
от SSTID
Не могу перейти на панель вода в админку

Автор samat

Ответов: 5
Просмотров: 1851
Последний ответ 14.12.2017, 19:19:05
от andrejdi