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

dplexer

  • Осваиваюсь на форуме
  • 38
  • 0 / 0
После переноса сайта на другой сервер перестала открываться админка. Пишет ошибку "No configuration file found and no installation code available. Exiting". Сайт работает исправно. Права на все поменял, свободное место на сервере есть, с файлом конфигурации все в порядке (сайт открывается). Помогите, пожалуйста, разобраться.
« Последнее редактирование: 30.12.2014, 15:22:24 от b2z »
*

AlekVolsk

  • Гуру
  • 6913
  • 416 / 4
Проверьте права на файл configuration.php
*

dplexer

  • Осваиваюсь на форуме
  • 38
  • 0 / 0
Права на конфиг - 777
*

AlekVolsk

  • Гуру
  • 6913
  • 416 / 4
Это права для папки, а не для файла, выставьте 644, затем, если в админку зайдете нормально, пересохраните основные настройки.
*

dplexer

  • Осваиваюсь на форуме
  • 38
  • 0 / 0
Сделал права на файл configuration.php - 644. Та же ситуация.
*

AlekVolsk

  • Гуру
  • 6913
  • 416 / 4
тогда смотрите, что не так может быть в самом файле
*

dplexer

  • Осваиваюсь на форуме
  • 38
  • 0 / 0
Файл выглядит так:
Спойлер
[свернуть]
*

AlekVolsk

  • Гуру
  • 6913
  • 416 / 4
А его кодировка какая?
Поставьте public $error_reporting = 'development'; и смотрите, какие ошибки выводятся
*

dplexer

  • Осваиваюсь на форуме
  • 38
  • 0 / 0
Кодировка UTF-8. Error reporting поменял, только не могу разобраться куда ошибки выводятся (
*

SK

  • Живу я здесь
  • 2155
  • 164 / 0
Зайдите в панель управления сервером и гляньте в каком режиме у вас работает php - режим "PHP как Apache" или на "PHP как FastCGI".
Поменяйте один режим на другой и проверьте работу админки.
*

dplexer

  • Осваиваюсь на форуме
  • 38
  • 0 / 0
*

AlekVolsk

  • Гуру
  • 6913
  • 416 / 4
Ручками скидывайте копию сайта на локалку и разбирайтесь локально. Попробуйте еще перезалить админку с дистрибутива.
*

dplexer

  • Осваиваюсь на форуме
  • 38
  • 0 / 0
Вот такая ругань:
PHP Warning:  file_exists(): open_basedir restriction in effect. File(/var/www/vhosts/za-krym.rf/htdocs/configuration.php) is not within the allowed path(s): (.) in /var/www/vhosts/za-krym.rf/htdocs/administrator/includes/framework.php on line 15
*

voland

  • Легенда
  • 11028
  • 588 / 112
  • Эта строка съедает место на вашем мониторе
*

AlekVolsk

  • Гуру
  • 6913
  • 416 / 4
Версия J и версия php точные какие?
*

voland

  • Легенда
  • 11028
  • 588 / 112
  • Эта строка съедает место на вашем мониторе
Да не в версии дело, скорей всего php в безопасном режиме работает.
*

AlekVolsk

  • Гуру
  • 6913
  • 416 / 4
Ну тогда все вопросы к хостеру.
*

dplexer

  • Осваиваюсь на форуме
  • 38
  • 0 / 0
В обычном режиме работает.
*

capricorn

  • Завсегдатай
  • 1949
  • 118 / 3
Цитировать
PHP Warning:  file_exists(): open_basedir restriction in effect

Надо отключить директиву open_basedir. Никаких 777 и 666 прав. В панели управления ставим FastCGI и SuEXEC.

Слава Крыму!
« Последнее редактирование: 29.12.2014, 20:53:18 от capricorn »
*

dplexer

  • Осваиваюсь на форуме
  • 38
  • 0 / 0
Спасибо за помощь! Проблема решена.
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Call to a member function NewColorizeImage() on null при переходе PHP 7 [Решено]

Автор Eholov

Ответов: 3
Просмотров: 3209
Последний ответ 17.03.2023, 11:03:04
от Olexa
Как русифицировать админку Joomla 3. Как поменять язык в админке?

Автор peklor

Ответов: 3
Просмотров: 1837
Последний ответ 09.02.2023, 01:25:02
от weser
404 страница - jos-Error: Article not found

Автор valeria10888

Ответов: 4
Просмотров: 1980
Последний ответ 10.01.2023, 11:33:05
от Mick_20
SP polls - syntax error, unexpected end of file... polls.php:63

Автор Beer

Ответов: 17
Просмотров: 1876
Последний ответ 17.11.2022, 12:04:43
от marksetter
Не обновляется с 3.5.1 до 3.6.4 - Ошибка загрузки пакета обновления и The archive file is corrupt

Автор ChaosHead

Ответов: 23
Просмотров: 8400
Последний ответ 13.04.2022, 16:58:49
от bugmenot