Новости 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 Ответов
  • 882 Просмотров
*

Андрей Нестеров

  • Захожу иногда
  • 207
  • 6 / 0
Добрый день!

Сайт - armymusic.ru. Joomla - 3.9.18. JotCache - 6.2.1

Раньше в Общих настройках во вкладке "Система" системный кэш был выключен. Работал только компонент JotCache. Недавно прочитал в документации к JotCache, что системный кэш можно включить в режим стандартного кэширования (при этом плагин системного кэша должен быть выключен). Это подтвердил и разработчик, объяснив это тем, что стандартное кэширование ускоряет запросы к базе данных и т.п.

Я его включил. На сайте появились проблемы с двумя модулями - они не загружаются. В консоли вот такие ошибки:



Ошибка возникает на закэшированной странице. При этом, если удалить страницу из кэша в компоненте JotCache и обновить, ошибки пропадают, модули отображаются. Но на определенное время, закономерности не уловил - потом опять ошибка.

Кроме этого, заметил, что на страницах, созданных компонентом Music Collection, данной проблемы нет. Только com_content и Flexicontact (форма обратной связи).

В чем может быть дело?

*

draff

  • Гуру
  • 5801
  • 434 / 7
  • ищу работу
Re: JotCache и стандартное кэширование
« Ответ #1 : 31.05.2020, 17:43:40 »
А исключить позиции модулей в параметрах JotCache ?
*

Андрей Нестеров

  • Захожу иногда
  • 207
  • 6 / 0
Re: JotCache и стандартное кэширование
« Ответ #2 : 31.05.2020, 18:04:44 »
А исключить позиции модулей в

Да, можно было бы, но мне надо, чтобы эти модули кэшировались.
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Проблемка с кодировкой в компоненте JotCache

Автор KSS

Ответов: 6
Просмотров: 1489
Последний ответ 03.12.2018, 12:18:58
от kdn79
Как отключить кэширование для Fox Contact ?

Автор NathanD

Ответов: 1
Просмотров: 1543
Последний ответ 28.03.2013, 19:17:06
от NathanD
Как настроить стандартное расширение "Контакты"?

Автор Василий Ветров

Ответов: 1
Просмотров: 1677
Последний ответ 03.08.2011, 23:38:02
от freik
Стандартное голосование Joomla, как сделать random вопросов?

Автор kolih

Ответов: 5
Просмотров: 3234
Последний ответ 18.06.2010, 05:00:00
от ecolora