У меня есть этот кусок кода:
private function _resolveCustomEntries($fields)
{
foreach ($fields as &$value) {
if (array_key_exists('custom', $value)) {
if (method_exists($this, $value['custom'])) {
$value['custom'] = $this->$value['custom'](); //variableInterpolation
}
}
}
return $fields;
}
Я запустил проверку совместимости PHP 7.2, и он пожаловался здесь на "variableInterpolation" на отмеченной строке.Когда я запускаю этот код, журнал PHP сообщает мне следующее:
ERR (3): Примечание: преобразование массива в строку в /public_html/lib/KiTT/Payment/Widget.php в строке 217
Это та же строка, в которой проверка «variableInterpolation» не удалась.Так как бы мне переписать этот код, чтобы он работал в PHP 7.2?
Спасибо!
Решение:
$value['custom'] = $this->$value['custom']();
должно выглядеть следующим образом:
$value['custom'] = $this->{$value['custom']}();