Новости Joomla

Метод registerListeners() в CMSPlugin в плагинах планируется удалить в Joomla 7.0

Метод registerListeners() в CMSPlugin в плагинах  планируется удалить в Joomla 7.0

👩‍💻 Метод registerListeners() в CMSPlugin в плагинах планируется удалить в Joomla 7.0.Этот метод регистрирует устаревшие слушатели событий в диспетчере, имитируя работу плагинов Joomla! 3.x и ниже для Joomla 4+. По умолчанию этот метод ищет все общедоступные методы, название которых начинается с on. Он регистрирует лямбда-функции (замыкания), которые пытаются преобразовать аргументы отправленного события в аргументы вызова метода и вызвать ваш метод on<Что-то>. Результат передаётся обратно событию в его аргумент result.Теперь этот слой совместимости с устаревшей Joomla 3 помечен к удалению в Joomla 7.0, которая должна выйти осенью 2027 года. Это означает, что те уникальные расширения от Joomla 2.5 / Joomla 3, которые ещё работали на Joomla 4-6 скорее всего окончательно перестанут работать на Joomla 7. Предполагается, что активные разработчики планомерно и постепенно избавляются от технического долга и обновляют свои расширения. @joomlafeed#joomla #разработка #php

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

alexs64

  • Новичок
  • 4
  • 2 / 0
Есть Joomla 3.8.7 + форум Kunena 5.1.5 + PHP 7.3 и после установки PHP в логах сервера по сайту море записей 
Цитировать
Warning:  "continue" targeting switch is equivalent to "break". Did you mean to use "continue 2"? in /home/libraries/kunena/external/nbbc/nbbc.php on line 343
, а также строки 357 и 362

код тех строк:
Код
							else
{
$this->tag   = false;
$this->state = BBCODE_LEXSTATE_TEXT;
if (strlen($this->text) > 0)
{
return $this->token = BBCODE_TEXT;
}
/* строка 343  => */ continue;
}
default:
$this->tag   = false;
$this->state = BBCODE_LEXSTATE_TEXT;

return $this->token = BBCODE_WS;
case 40:
case 60:
case 91:
case 123:
if (preg_match($this->pat_comment, $this->text))
{
$this->state = BBCODE_LEXSTATE_TEXT;
/* строка 357  => */ continue;
}
if (preg_match($this->pat_comment2, $this->text))
{
$this->state = BBCODE_LEXSTATE_TEXT;
/* строка 362  => */ continue;
}
if (preg_match($this->pat_wiki, $this->text, $matches))
{
$this->tag   = array('_name'    => 'wiki', '_endtag' => false,
                     '_default' => @$matches[1], 'title' => @$matches[2], );
$this->state = BBCODE_LEXSTATE_TEXT;

return $this->token = BBCODE_TAG;
}

Теперь стоит вопрос, чем заменить continue , на "break" или на "continue 2" ? В PHP я пытался разобраться, но возраст уже не позволяет, по этому прошу о помощи, сайт и форум не хочется "положить".
Заранее спасибо за помощь.
 
« Последнее редактирование: 07.09.2025, 21:04:10 от alexs64 »
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Где настраивается <jdoc:include type="component" />

Автор zhekamur

Ответов: 4
Просмотров: 2606
Последний ответ 06.06.2024, 22:50:07
от Vastriet
Кнопка &amp;quot;редактировать&amp;quot;

Автор all_zer

Ответов: 1
Просмотров: 2853
Последний ответ 28.12.2023, 09:53:48
от fsv
lang="ru-RU" на всех языках сайта

Автор romagromov

Ответов: 1
Просмотров: 1699
Последний ответ 12.11.2022, 11:38:44
от romagromov
Ошибка в определении тега <html lang="хх-ХХ">

Автор x1

Ответов: 0
Просмотров: 1127
Последний ответ 16.09.2022, 16:25:02
от x1
syntax error, unexpected token "\" - После обновления до последней версии

Автор Evgenii9626

Ответов: 1
Просмотров: 1458
Последний ответ 08.07.2022, 06:57:58
от marksetter