Замена устаревшего метода create_function - PullRequest
0 голосов
/ 04 июля 2018

Я нахожусь в процессе обновления заброшенного плагина, и я столкнулся с этой устаревшей функцией, для которой я изо всех сил пытаюсь найти подходящую замену. Оригинальная функция такова:

$callback = create_function( '', 'echo "' . str_replace( '"', '\"', $section['desc'] ) . '";' );

То, что я предложил в качестве замены, выглядит следующим образом:

$callback = function() { echo '"' . str_replace( '"', '\"', $section['desc'] ) . '";'; } ;

Однако это не удается из-за того, что переменная `$ section ['desc'] определяется за пределами этой функции, поэтому выдает неопределенную ошибку переменной.

Я пробовал несколько разных способов передачи переменной в функцию, моя последняя попытка завершилась неудачно с выводом вывода (массив) вместо требуемого описания:

$section_desc = $section['desc']; $callback = function( $section_desc ) { echo '"' . str_replace( '"', '\"', $section_desc ) . '";'; } ;

Ищете предложения относительно правильного способа сделать это?

1 Ответ

0 голосов
/ 04 июля 2018

Я не могу проверить, потому что я на своем телефоне, но я думаю, что это правильно.

$section_desc = $section['desc'];
$callback = function($section_desc) {
  return str_replace('"', '\"', $section_desc);
}
...