drupal_eval

Хочешь помочь с переводом? Это очень просто и быстро. Лишь зарегистрируйся, и можешь тут же начать переводить.

includes/common.inc, строка 1470

Версии
5 – 6
drupal_eval($code)

Исполнить строку кода на PHP.

Это обёртка вокруг PHP-функции eval(). Используется буферизация вывода, чтобы вернуть и возвращённое eval() значение и печатаемый текст. В отличие от оригинальной eval() функция в Drupal требует, чтобы код был заключён в теги <\?php и \?>. Другими словами код интерпретируется как текст обычного PHP-файла.

Использование обёртки drupal_eval() также гарантирует, что исполненный PHP-код не сможет переписать любые переменные в вызываемом коде. Это также отличает данную функцию от оригинальной eval().

Параметры

$code Строка с кодом для исполнения

Возвращаемое значение

Строка содержащая вывод на печать (например результат исполнения print в коде), следом за ней добавляется значение которое может быть возвращено данным скриптом (например результат return).

Связанные темы

▾ 2 функции вызывают drupal_eval()

block_list in modules/block/block.module
Return all blocks in the specified region for the current user.
filter_filter in modules/filter/filter.module
Implementation of hook_filter(). Contains a basic set of essential filters. HTML filter: Validates user-supplied HTML, transforming it as necessary. PHP evaluator: Executes PHP code. Line break converter: Converts newlines into paragraph and break tags.

Код

<?php
function drupal_eval($code) {
  ob_start();
  print eval('?>'. $code);
  $output = ob_get_contents();
  ob_end_clean();
  return $output;
}
?>
Войдите или зарегистрируйтесь, чтобы получить возможность отправлять комментарии

Вход в систему