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

tefun

  • Живу я здесь
  • 2540
  • 130 / 1
  • Легче всего обмануть себя
Re: Не могу зайти на сайт
« Ответ #90 : 11.02.2012, 01:34:25 »
никак не получается , сейчас я иду спать , надеюсь завтра решим проблему .....)
мда...утра вечера мудренее, жесть первый раз такое вижу
то что постится на фОруме, не вырубается тапОрами
_______________________________________________
Мысли и женщины вместе не приходят М.Ж.
*

hedeag

  • Захожу иногда
  • 377
  • 23 / 3
Re: Не могу зайти на сайт
« Ответ #91 : 11.02.2012, 01:45:08 »
у меня все нормально ставится
я даже проверил снес базу и поставил заново никаких ошибок не возникло
*

Shamil

  • Захожу иногда
  • 219
  • 1 / 0
Re: Не могу зайти на сайт
« Ответ #92 : 11.02.2012, 12:38:58 »
а может это все из за таблицы с пользователями kunena ?
*

hedeag

  • Захожу иногда
  • 377
  • 23 / 3
Re: Не могу зайти на сайт
« Ответ #93 : 11.02.2012, 13:55:02 »
так ты удалил все таблицы или как? у тебя должа бд быть чистой
*

Shamil

  • Захожу иногда
  • 219
  • 1 / 0
Re: Не могу зайти на сайт
« Ответ #94 : 11.02.2012, 14:14:45 »
да я удаляю сейчас все .....
*

hedeag

  • Захожу иногда
  • 377
  • 23 / 3
Re: Не могу зайти на сайт
« Ответ #95 : 11.02.2012, 15:06:54 »
надеюсь на с фтп? надо только БД удалить и то не саму бд а только таблицы
*

Shamil

  • Захожу иногда
  • 219
  • 1 / 0
Re: Не могу зайти на сайт
« Ответ #96 : 11.02.2012, 16:54:35 »
jos_joomlawatch_ip2c - почему эта таблица такая огромная ?
*

hedeag

  • Захожу иногда
  • 377
  • 23 / 3
Re: Не могу зайти на сайт
« Ответ #97 : 11.02.2012, 17:03:33 »
это у вас надо спрашивать
ваши же таблицы

вообще у вас так каша полная в бд, но это к сути вопроса не относится
*

Shamil

  • Захожу иногда
  • 219
  • 1 / 0
Re: Не могу зайти на сайт
« Ответ #98 : 11.02.2012, 17:12:49 »
эхх надо этот плагин удалить
*

hedeag

  • Захожу иногда
  • 377
  • 23 / 3
Re: Не могу зайти на сайт
« Ответ #99 : 11.02.2012, 17:22:04 »
я вас не понимаю, вам надо болы удалить все таблицы, вы сказали что удалили, но у вас возникает ошибка при записи моей базы, а теперь вы говорите что у вас какие то там таблицы, значит вы не удалил таблицы базы, вообще ничего не понимаю, вы как будто шпион работающий на  3 стороны, русским вы говорите одно, американцам другое, а полякам третье

вот так выглядит пустая база http://pikucha.ru/i83RL
« Последнее редактирование: 11.02.2012, 17:26:06 от hedeag »
*

Shamil

  • Захожу иногда
  • 219
  • 1 / 0
Re: Не могу зайти на сайт
« Ответ #100 : 11.02.2012, 17:40:40 »
я просто тогда подумал что нужно удалить только одну таблицу просто )))
теперь сижу последнюю удаляю
*

hedeag

  • Захожу иногда
  • 377
  • 23 / 3
Re: Не могу зайти на сайт
« Ответ #101 : 11.02.2012, 17:41:16 »
я же написал там внизу есть кнопки, отметить все и удалить
*

Shamil

  • Захожу иногда
  • 219
  • 1 / 0
Re: Не могу зайти на сайт
« Ответ #102 : 11.02.2012, 17:44:17 »
все заливаю ....
*

hedeag

  • Захожу иногда
  • 377
  • 23 / 3
Re: Не могу зайти на сайт
« Ответ #103 : 11.02.2012, 17:50:15 »
ник   admin
код   ghjg87647tgt2hg
*

Shamil

  • Захожу иногда
  • 219
  • 1 / 0
Re: Не могу зайти на сайт
« Ответ #104 : 11.02.2012, 17:56:11 »
SQL-запрос:

--
-- База данных: `aqq2651_wrapper`
--
-- --------------------------------------------------------
--
-- Структура таблицы `jos_achat`
--
CREATE TABLE IF NOT EXISTS  `jos_achat` (

 `msg_id` INT( 11 ) NOT NULL AUTO_INCREMENT ,
 `nick` VARCHAR( 64 ) NOT NULL DEFAULT  '',
 `msg` TEXT NOT NULL ,
 `msgtime` TEXT NOT NULL ,
PRIMARY KEY (  `msg_id` )
) ENGINE = MYISAM DEFAULT CHARSET = utf8 AUTO_INCREMENT =6;

Ответ MySQL:
*

Shamil

  • Захожу иногда
  • 219
  • 1 / 0
Re: Не могу зайти на сайт
« Ответ #105 : 11.02.2012, 17:57:09 »
я точно все удалил
*

hedeag

  • Захожу иногда
  • 377
  • 23 / 3
Re: Не могу зайти на сайт
« Ответ #106 : 11.02.2012, 18:03:21 »
а кодировка при экспорте стоит utf8?
если да то читай по MYISAM темы


какой хостинг? возможно у нас с вами разные версии чего то на хостинге
*

Shamil

  • Захожу иногда
  • 219
  • 1 / 0
Re: Не могу зайти на сайт
« Ответ #107 : 11.02.2012, 18:05:07 »
jino.ru
*

hedeag

  • Захожу иногда
  • 377
  • 23 / 3
Re: Не могу зайти на сайт
« Ответ #108 : 11.02.2012, 18:06:05 »
напишите в их Е**ный суппорт и спросите, что за ошибка, у них вроде даже онлайн консультации есть типа аськи, пусть ребята поработают
*

Shamil

  • Захожу иногда
  • 219
  • 1 / 0
Re: Не могу зайти на сайт
« Ответ #109 : 11.02.2012, 18:06:44 »
сейчас напишу )))
*

Shamil

  • Захожу иногда
  • 219
  • 1 / 0
Re: Не могу зайти на сайт
« Ответ #110 : 11.02.2012, 18:07:31 »
Операционная система:   Linux 2.6.18-274.12.1.el5
Версия Perl:   5.8.8
Версия PHP:   5.2.17
Версия MySQL:   5.1.54

вот данные
*

hedeag

  • Захожу иногда
  • 377
  • 23 / 3
Re: Не могу зайти на сайт
« Ответ #111 : 11.02.2012, 18:11:12 »
возможно из за разницы Версии MySQL но вы лучше у них спросите, скопируйте ошибку и спросите
*

Shamil

  • Захожу иногда
  • 219
  • 1 / 0
Re: Не могу зайти на сайт
« Ответ #112 : 12.02.2012, 15:02:31 »
что то они совсем не отвечают уже 20 часов , на остальные вопросы отвечали через 10 мин максимум , может они не знают решения вот и молчат ?
*

hedeag

  • Захожу иногда
  • 377
  • 23 / 3
Re: Не могу зайти на сайт
« Ответ #113 : 12.02.2012, 22:06:44 »
выходные же
*

Shamil

  • Захожу иногда
  • 219
  • 1 / 0
Re: Не могу зайти на сайт
« Ответ #114 : 12.02.2012, 22:18:32 »
возможно )
*

tefun

  • Живу я здесь
  • 2540
  • 130 / 1
  • Легче всего обмануть себя
Re: Не могу зайти на сайт
« Ответ #115 : 12.02.2012, 22:18:56 »
то что постится на фОруме, не вырубается тапОрами
_______________________________________________
Мысли и женщины вместе не приходят М.Ж.
*

Shamil

  • Захожу иногда
  • 219
  • 1 / 0
Re: Не могу зайти на сайт
« Ответ #116 : 12.02.2012, 22:19:29 »
Время работы службы техподдержки:
по заявке из контрольной панели — круглосуточно, без выходных
по телефону (+7 495 229-30-31) — с 1000 до 1800 по рабочим дням
мда....
*

Samagon

  • Новичок
  • 7
  • 0 / 0
Re: Не могу зайти на сайт
« Ответ #117 : 13.02.2012, 01:11:31 »
Господа, добрый день. Раз уж у вас такая пьянка, то я прямо с такой же проблемой именно сюда и пришёл. В общем, мне в наследство достался сайт, не работающий неопределенное время по причине непроплаты домена, хозяин сайта мой знакомый попросил помочь, но жумлу я вижу во второй-третий раз в жизни, посему прошу помощи. Короче сидеть на его хостинге я не стал, раз уж домен один чёрт был разделегирован. Зарегистрировал его обратно (да, для киберсквоттеров имячко неинтересное), сделал дамп БД, перезалил файлы. Сразу возникла какая-то проблема, с запуском, но благо с помощью техподдержки смогли её решить. В общем сейчас сайт выглядит так:

http://travel-noginsk.ru

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

http://travel-noginsk.ru/administrator/index.php

Тут сразу напрягло:
Цитировать
Error loading Plugins:
JAuthentication::__construct: Could not load authentication libraries.
Имя пользователя и пароль не совпадают

Потыкавшись в неё предоставленным мне, от прошлого админа, паролем, никакого успеха я не достиг. Покурил интернет, зашёл через сюкл, поменял пасс на суперадмине через MD5. Не заходит. После этого я попал именно в вашу тему и как тут советовал уважаемый юзер hedeag — смог добраться до формы:

http://www.travel-noginsk.ru/index.php?option=com_user&view=login

Но что бы я не ввёл, правильный или неправильный пароль — меня кидает на индекс, где меня ждёт всё тот же Error loading Plugins:, где-то в глубне души я понимаю, что ошибка именно здесь, но откуда начинать копать — не знаю. Я взял на себя смелость, скинуть господину hedeag дамп БД, ибо в тексте увидел, что проблемы может быть именно в ней. Если не трудно, посмотреите пожалуйста.
*

hedeag

  • Захожу иногда
  • 377
  • 23 / 3
Re: Не могу зайти на сайт
« Ответ #118 : 13.02.2012, 01:30:59 »
что то у меня ругается при переносе базы, вы отключили "проверку внешних ключей" при экспорте базы? там опция есть такая

а насчет плагинов проверьте  таблицу jos_plugins    колонку published     1 означает включено
Authentication - Joomla
User - Joomla!


*

Shamil

  • Захожу иногда
  • 219
  • 1 / 0
Re: Не могу зайти на сайт
« Ответ #119 : 13.02.2012, 14:05:46 »
ура работает , ошибка выскакивала потому что я при заливке не указывал базу данных =_= (в Службе поддержки все таки ответили).
Спасибо вам огромное hedeag!
Теперь хотелось бы узнать , как мне не наступить на грабли дважды?
Может удалить плагин какой ни будь , который мешает или что ?
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Каков ваш заработок на сайте?возможно ли пролететь и создать не прибыльный сайт?

Автор bedalex

Ответов: 3
Просмотров: 5302
Последний ответ 05.06.2023, 11:00:40
от Ритулька88
Проблемы с входом на сайт

Автор belovpaha

Ответов: 7
Просмотров: 4684
Последний ответ 20.09.2022, 14:30:51
от sivers
Не могу распаковать jpa архив сайта Akeeba backup. ajax error

Автор smadkz

Ответов: 4
Просмотров: 1905
Последний ответ 26.12.2020, 15:15:15
от stendapuss
Криво работает сайт и админ часть

Автор Odyssey

Ответов: 11
Просмотров: 2777
Последний ответ 10.02.2019, 06:13:39
от Odyssey
Не могу войти в админку Joomla 1.5

Автор MrSkif

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