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

Гоша_Компьютерный

  • Захожу иногда
  • 65
  • 11 / 1
  • sitogon
Мысли вслух про Joomla 4
« : 15.12.2021, 03:06:44 »
Сегодня стало интересно: заработают ли мои компоненты под Joomla 4

Выяснил: нет, не заработают

Придется переделывать. Полностью

Причем, судя по всему, неоднократно. PhpStorm уже сообщает, что метод Factory::getDbo() - deprecated

А он везде, в каждой модели

Несколько лет спокойствия и вот на тебе, опять история с новыми версиями

В общем, я сегодня матерился. И завтра буду делать тоже самое

Это были мои мысли о Joomla 4
*

effrit

  • Легенда
  • 10132
  • 1118 / 13
  • effrit.com
Re: Мысли вслух про Joomla 4
« Ответ #1 : 15.12.2021, 08:11:24 »
надо было модули писать!  ;D
ситуация, конечно, немного печальная, т.к. для рядового юзера ничего интересного не привнесено.
быстрее тоже не стало.
вроде как для программеров основные плюшки насыпаны, но им же теперь придется пару лет тащить совместимость между 3 и 4 версией.
лично я сайты на 4-ку не буду переводить, так как смысл стремится к нулю.
*

Гоша_Компьютерный

  • Захожу иногда
  • 65
  • 11 / 1
  • sitogon
Re: Мысли вслух про Joomla 4
« Ответ #2 : 15.12.2021, 10:56:41 »
Правильнее, конечно, делать новые версии компонентов

Тащить в коде массу условий на проверку версии Joomla и в зависимости от версии использовать классы и методы - неправильно, как мне кажется

 Модули, кстати, да, как правило устанавливаются без проблем

С плагинами сложнее. Даже замена $app->isAdmin() на $app->isClient уже крови попьет))
*

ProtectYourSite

  • Живу я здесь
  • 2364
  • 137 / 4
  • Безопасность вебсайтов
Re: Мысли вслух про Joomla 4
« Ответ #3 : 15.12.2021, 11:06:15 »
Может просто отдельную версию под 4 просто делать? Тогда не надо кучу проверок пилить плюс есть некоторая возможность использовать фичи новых версий PHP и не бояться, что в PHP 5 их нету
*

anatol81n

  • Захожу иногда
  • 82
  • 2 / 0
Re: Мысли вслух про Joomla 4
« Ответ #4 : 15.12.2021, 11:50:48 »
зато работы привалило на несколько лет..
чувствую рано или поздно придется переезжать на joomla 4 И joomshopping 5 :o :o
*

Гоша_Компьютерный

  • Захожу иногда
  • 65
  • 11 / 1
  • sitogon
Re: Мысли вслух про Joomla 4
« Ответ #5 : 15.12.2021, 11:55:38 »
Может просто отдельную версию под 4 просто делать? Тогда не надо кучу проверок пилить плюс есть некоторая возможность использовать фичи новых версий PHP и не бояться, что в PHP 5 их нету

Если компонент небольшой, то так и нужно делать
Но вот  у меня есть компонент "Запись на прием", который за годы доработок превратился в многофункционального монстра

И как быть с ним - реально не знаю. Это месяцы работы, чтобы сделать его копию под Joomla 4
*

sergeytolkachyov

  • Захожу иногда
  • 194
  • 20 / 0
  • @sergeytolkachyov https://web-tolk.ru
Re: Мысли вслух про Joomla 4
« Ответ #6 : 15.12.2021, 13:17:45 »
Ну PHP Storm про isAdmin уже давно говорит deprecated. Новые плюшки же постепенно вливались в тройку. Предполагалось, наверное, что постепенно разработчики будут вносить эти изменения в свои труды.
*

Гоша_Компьютерный

  • Захожу иногда
  • 65
  • 11 / 1
  • sitogon
Re: Мысли вслух про Joomla 4
« Ответ #7 : 15.12.2021, 13:27:57 »
Ну PHP Storm про isAdmin уже давно говорит deprecated. Новые плюшки же постепенно вливались в тройку. Предполагалось, наверное, что постепенно разработчики будут вносить эти изменения в свои труды.

Именно так и предполагалось

Но, во первых, разработчики в силу многих причин, в том числе и лени, не всегда исправляют свой код

А во вторых, многие расширения сделаны один раз. Исправно выполняют свою функцию и годами в их код никто даже не заглядывает)

И вдруг раз и все нужно переделать, причем срочно

К слову, лично мне непонятно, почему нельзя было оставить isAdmin и isSite, пусть бы они обращались к isClient и возвращали соответствующее значение
*

b2z

  • Глобальный модератор
  • 7284
  • 778 / 0
  • Разраблю понемногу
Re: Мысли вслух про Joomla 4
« Ответ #8 : 15.12.2021, 13:30:21 »
Код
PhpStorm уже сообщает, что метод Factory::getDbo() - deprecated
Дык это только в 5.0, не в 4.0. Это к тому, что в четвёрке уже лучше его не использовать (если с нуля пишешь), но переделывать пока не надо.

Ну PHP Storm про isAdmin уже давно говорит deprecated. Новые плюшки же постепенно вливались в тройку. Предполагалось, наверное, что постепенно разработчики будут вносить эти изменения в свои труды.
+

Если следишь, то постепенно переписываешь. И это работает на тройке.
*

sergeytolkachyov

  • Захожу иногда
  • 194
  • 20 / 0
  • @sergeytolkachyov https://web-tolk.ru
Re: Мысли вслух про Joomla 4
« Ответ #9 : 15.12.2021, 13:51:44 »
К слову, лично мне непонятно, почему нельзя было оставить isAdmin и isSite, пусть бы они обращались к isClient и возвращали соответствующее значение
Возможно, это связано со слиянием четверки и фреймворка. Чтобы было единообразие.
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Интеграция финансовых блогов и курсов на Joomla

Автор MihaGolovey

Ответов: 0
Просмотров: 516
Последний ответ 12.02.2025, 09:51:53
от MihaGolovey
Телеграм канал о Joomla на английском

Автор Sulpher

Ответов: 1
Просмотров: 1703
Последний ответ 19.04.2024, 13:28:37
от Omaxis
VirtueMart для Joomla 4

Автор Гоша_Компьютерный

Ответов: 0
Просмотров: 2441
Последний ответ 15.08.2022, 12:37:14
от Гоша_Компьютерный
Городской портал на Joomla?

Автор User82

Ответов: 3
Просмотров: 2363
Последний ответ 14.12.2021, 14:41:02
от khan-alex
Дайджест Joomla на хабре общая тема.

Автор zikkuratvk

Ответов: 59
Просмотров: 4986
Последний ответ 30.11.2021, 12:30:59
от zikkuratvk