Новости 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 Гость просматривают эту тему.
  • 1 Ответов
  • 2253 Просмотров
*

AlexP750

  • Захожу иногда
  • 189
  • 1 / 0
Всем привет.
Joomla 4.2.2
Пароль на доступ к админке знаю, он подходит. То есть, я захожу и имею полный доступ. Но понадобилось на время отключить его, пароль Admin Tools, чтобы дать доступ спецу из Joomshaper. И я не могу это сделать - при нажатии на кнопку Remove password protection получаю сообщение The security token did not match. The request was aborted to prevent any security breach. Please try again. внезависимости от содержимого полей Username и Password.
Ок, почитал доки, решил удалить файлы .htaccess and .htpasswd inside your site's administrator directory, но я их там не нахожу.
Подскажите, где "собака порылась"?
*

Mitriy

  • Захожу иногда
  • 86
  • 0 / 0
Re: Akeeba Admin Tools Core - не могу снять пароль
« Ответ #1 : 06.10.2022, 18:15:14 »
может быть эти файлы в других папках, которая указывается в настройках Admin Tools
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Проблема с Akeeba Backup

Автор Lemonez

Ответов: 6
Просмотров: 3205
Последний ответ 29.03.2025, 13:06:45
от sivers
Не могу разобраться как в админке заставить работать свой плагин

Автор kkmspb

Ответов: 3
Просмотров: 1996
Последний ответ 02.09.2024, 11:35:25
от kkmspb
Не могу установить языковой пакет для компонента Joomla Events Manager ((jem))

Автор Ded Magomed

Ответов: 0
Просмотров: 1828
Последний ответ 24.05.2022, 15:06:38
от Ded Magomed
Как правильно изменить Akeeba Backup Professional на Akeeba Backup Core?

Автор epson950

Ответов: 0
Просмотров: 1229
Последний ответ 08.07.2021, 13:06:30
от epson950
Ошибка при желании создать резервную копия в Akeeba Backup

Автор yura21r3

Ответов: 1
Просмотров: 2035
Последний ответ 04.05.2019, 16:23:23
от draff