Заметка Deprecated method alert: XF\Template\Templater::fn is deprecated from XF 2.1.3 and will be removed eventually

Unsubdued

Администратор
Сообщения
5 368
Репутация
9 900
Баллы
266
В PHP 7.4 будет введено

Пожалуйста, Войдите или Зарегистрируйтесь для просмотра скрытого текста.

для определения встроенных функций. В настоящее время мы делаем так:

PHP:
$container['router'] = function (Container $c)
{
   return $c['router.public'];
};
Начиная с PHP 7.4 это можно сократить до:

PHP:
$container['router'] = fn(Container $c) => $c['router.public'];
Хотя кодовая база XenForo не сможет использовать эту функциональность в течение многих лет, это означает, что указанная выше часть fn становится зарезервированным ключевым словом, что будет проблемой, если в будущем мы захотим поддерживать PHP 7.4. К сожалению, мы используем fn в качестве имени метода в нашем Templater.

В XF 2.1.3 мы переименовали XF\Template\Templater::fn() в XF\Template\Templater::func(). Поскольку это, скорее всего, нарушит существующий код, мы сохранили метод fn(), но теперь он просто вызывает метод func().

Мы призываем вас с 2.1.3 и далее заменять любые вызовы fn() в вашем собственном коде на func(). В какой-то момент в ближайшем будущем мы добавим поддержку PHP 7.4 В XF 2.1, и в этот момент нам, вероятно, придется удалить метод fn().
 
Сверху Снизу