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

Creemzey

  • Осваиваюсь на форуме
  • 14
  • 0 / 0
помогите, вот сайт pvlmeshit.kz

Спойлер
[свернуть]
« Последнее редактирование: 14.02.2012, 13:33:53 от Creemzey »
*

tefun

  • Живу я здесь
  • 2540
  • 130 / 1
  • Легче всего обмануть себя
помогите, вот сайт pvlmeshit.kz

Спойлер
[свернуть]
конкретно распишите (тех задание) по пунктам и желательно с примерами
« Последнее редактирование: 14.02.2012, 13:47:57 от tefun »
то что постится на фОруме, не вырубается тапОрами
_______________________________________________
Мысли и женщины вместе не приходят М.Ж.
*

Creemzey

  • Осваиваюсь на форуме
  • 14
  • 0 / 0
конкретно распишите (тех задание) по пунктам и желательно с примерами

Сайт написан на Joomla 1.5
недавно шаблон подвергся смене ширины поля. теперь по краям верхних двух модулей "skitter" и изображения осталось пустое пространство. эти два модуля нужно прижать к краям и поместить меж ними модуль, который находится ниже. таким образом.
Спойлер
[свернуть]


Далее. Материалы в левой части поля разбиваются в три блока. Произвольная разбивка, название блоков тоже любое.
Желательно, чтобы блоки эти визуально отличались (рамки разных цветов или что то в это роде).
материалы располагаются в длину в  одну колонку. правая колонка остается неизменной.
Спойлер
[свернуть]

И если можно, сменить цветовую схему, на что то ближе к зеленому
« Последнее редактирование: 14.02.2012, 13:34:45 от Creemzey »
*

tefun

  • Живу я здесь
  • 2540
  • 130 / 1
  • Легче всего обмануть себя
эм...заключи в спойлер


см http://pvlmeshit.kz/?tp=1 тут позиции модулей  - пляши от сюда

смотри где тебе надо вывести модуль (http://pvlmeshit.kz/?tp=1) потом создавай модуль и назначай нужную позицию
« Последнее редактирование: 14.02.2012, 13:56:47 от tefun »
то что постится на фОруме, не вырубается тапОрами
_______________________________________________
Мысли и женщины вместе не приходят М.Ж.
*

Creemzey

  • Осваиваюсь на форуме
  • 14
  • 0 / 0
блин, я наверно бесить начинаю, но как сделать бэкап? я понимаю что это такое. но как сделать? у меня есть только пароль от сайта и си панели.
*

tefun

  • Живу я здесь
  • 2540
  • 130 / 1
  • Легче всего обмануть себя
блин, я наверно бесить начинаю, но как сделать бэкап? я понимаю что это такое. но как сделать? у меня есть только пароль от сайта и си панели.
БД надо сохранить, заходишь через сипанель в PHPMyAdmin и там делаешь экспорт
потом желательно сайт сохранить
Еще также есть здесь решения JED
почитай сначала на форуме как делать, лично у меня сайт на локале и бд тоже, так что...тут все просто
то что постится на фОруме, не вырубается тапОрами
_______________________________________________
Мысли и женщины вместе не приходят М.Ж.
*

Creemzey

  • Осваиваюсь на форуме
  • 14
  • 0 / 0
БД надо сохранить, заходишь через сипанель в PHPMyAdmin и там делаешь экспорт
потом желательно сайт сохранить
Еще также есть здесь решения JED
почитай сначала на форуме как делать, лично у меня сайт на локале и бд тоже, так что...тут все просто

друг ладно, валю я отсюда.))) попробую html-ы править. тут даже хостера нашего не знают. они НИЧЕГО НЕ ЗНАЮТ. спасибо, много дельных советов узнал. удачи
*

tefun

  • Живу я здесь
  • 2540
  • 130 / 1
  • Легче всего обмануть себя
да подожди...может еще кто отпишится
заходи иногда, просматривай тему
то что постится на фОруме, не вырубается тапОрами
_______________________________________________
Мысли и женщины вместе не приходят М.Ж.
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Чем лучше всего делать резервные копии сайта?

Автор 7Azimuth

Ответов: 115
Просмотров: 58924
Последний ответ 29.11.2023, 14:41:12
от sivers
Joomla 1.5 как убрать кнопку редактировать материант с сайта

Автор andriy465

Ответов: 5
Просмотров: 4008
Последний ответ 12.11.2023, 23:37:03
от all_zer
Не могу распаковать jpa архив сайта Akeeba backup. ajax error

Автор smadkz

Ответов: 4
Просмотров: 1905
Последний ответ 26.12.2020, 15:15:15
от stendapuss
Версия сайта для слабовидящих

Автор nikos

Ответов: 22
Просмотров: 44404
Последний ответ 27.11.2020, 11:04:18
от chernobyl
Поиск статьи по url сайта в админке Joomla 1.5

Автор Tema

Ответов: 5
Просмотров: 2190
Последний ответ 14.08.2020, 07:16:44
от rsn