Новости Joomla

Совет по Joomla: $db->getQuery(true) стал устаревшим

Совет по Joomla: $db->getQuery(true) стал устаревшим

👩‍💻 Совет по Joomla: $db->getQuery(true) стал устаревшим.Раньше при создании запросов в базу данных мы всегда получали объект запроса с помощью метода

getQuery(). Если передавался параметр
$new =
true, то получали новый запрос. Если без - последний.

use Joomla\CMS\Factory;$db = Factory::getContainer()->get('DatabaseDriver');$query = $db->getQuery(new: true);// и строим запрос
Под капот Joomla 4 вошёл Joomla Framework (PHP фреймворк а-ля Laravel, Yii и т.д.), а для Joomla 5 он обновился - версия 3.4.1 вышла 6 октября 2023г. В методе фреймворка есть примечание о том, что параметр
$new, который передавался в метод
getQuery() помечен как устаревший и будет удалён в версии фреймворка 4.0.
The parameter $new is deprecated and will be removed in 4.0, use %s::createQuery() instead.В Joomla 4 версия Joomla Framework была 2.x., в Joomla 5 - 3.x. Поэтому есть предположение, что с выходом Joomla 6 обновится и версия фреймворка - станет 4.0. Поэтому для получения объекта для новых запросов следует использовать метод
createQuery(). Он уже представлен в ядре и широко используется. При этом метод
getQuery() останется, но, скорее всего, будет выполнять функцию только геттера - получения текущего запроса.
@joomlafeed#joomla #php #разработка

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

Андрей Купцов

  • Новичок
  • 7
  • 0 / 0
Добрый времени суток!
При редактировании модулей в Joomla стала возникать ошибка "Произошла ошибка при получении данных JSON: код состояния HTTP 0. error".
Ничего не обновлял.
Подскажите в чем может быть проблема.
*

Alldar

  • Завсегдатай
  • 1504
  • 195 / 1
Кеш Joomla и браузера очистить попробуйте.
Если не поможет есть такой скрипт https://github.com/robwent/joomla-json-db-check/blob/master/README.md
Действуйте по инструкции на странице
*

Андрей Купцов

  • Новичок
  • 7
  • 0 / 0
Ошибка оказалась в том, что когда администраторы хостинга настраивали сайт (я просил сертификат SSL подключить) вписали в начало файла .htaccess
RewriteEngine On
RewriteCond %{HTTP:X-Forwarded-Proto} !https
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]
Поэтому начала возникать ошибка в модулях.
Потом они добавили запись:
47 #RewriteRule (.*?)index\.php/*(.*) /$1$2 [R=301,NE,L]
 48 RewriteRule (.*?)index\.php/*(.*) https://%{HTTP_HOST}/$1$2 [R=301,NE,L]
и все заработало в штатном режиме.
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Ошибка Using $this when not in object context при создании модуля

Автор arrrows163

Ответов: 0
Просмотров: 459
Последний ответ 27.06.2021, 18:33:45
от arrrows163
Селект с возможностью выбора всех данных материала

Автор bombapiter

Ответов: 3
Просмотров: 726
Последний ответ 30.04.2021, 13:17:13
от v42bis
Вывод данных соглано таблицы Excel

Автор warlocksp

Ответов: 56
Просмотров: 2508
Последний ответ 28.02.2019, 23:56:23
от warlocksp
Юникод при записи параметров в базу данных

Автор Taatshi

Ответов: 12
Просмотров: 1168
Последний ответ 30.10.2017, 14:27:31
от SeBun
Запись данных из формы в БД

Автор ushangi

Ответов: 3
Просмотров: 905
Последний ответ 11.09.2017, 17:24:22
от rkron