runkit_sandbox_output_handler
(PECL runkit >= 0.7.0)
runkit_sandbox_output_handler — Задает функцию для захвата и/или обработки данных из "песочницы".
Описание
Обычно все результаты работы в песочниче (использование функций echo или print) будут выведены в родительском окружении. Использование runkit_sandbox_output_handler() позволяет перехватить эти данные функцией вне песочницы.
Замечание: Поддержка песочницы (необходима для runkit_lint(), runkit_lint_file(), и класса Runkit_Sandbox) доступна только начиная с версии PHP 5.1.0 или в специально пропатченных версиях PHP 5.0, а также требует потокобезопасной (thread safe) версии PHP. Для более подробной информации смотрите файл README, поставляемый с пакетом runkit.
Замечание: Deprecated
Начиная с версии runkit 0.5 данная функция является устаревшей и помечена для удаления в версии 1.0. Обработка вывода песочницы может быть задана с помощью опции output_handler, доступной в виде Array Access для экземпляра Runkit_Sandbox. Подробную информацию можно получить на странице описания Runkit_Sandbox
Список параметров
-
sandbox
-
Экземпляр Runkit_Sandbox, вывод которого необходимо обрабатывать.
-
callback
-
Имя функции для перехвата данных. Функция должна принимать один аргумент. Вывод
sandbox
будет передан этой функции. Все данные, возвращаемые функцией будут отображены в стандартном порядке. Если этот параметр отсутствует, управление выводом песочницы не будет изменено. Если указанной функции не существует, обработка вывода будет отключена и данные будут выводиться в стандартном режиме.
Возвращаемые значения
Возвращает предыдущее имя функции или FALSE
, если она не была задана.
Примеры
Пример #1 Перевод вывода в переменную
<?php
function capture_output($str) {
$GLOBALS['sandbox_output'] .= $str;
return '';
}
$sandbox_output = '';
$php = new Runkit_Sandbox();
runkit_sandbox_output_handler($php, 'capture_output');
$php->echo("Hello\n");
$php->eval('var_dump("Excuse me");');
$php->die("I lost myself.");
unset($php);
echo "Sandbox Complete\n\n";
echo $sandbox_output;
?>
Результат выполнения данного примера:
Sandbox Complete Hello string(9) "Excuse me" I lost myself.
- PHP Руководство
- Функции по категориям
- Индекс функций
- Справочник функций
- Изменение поведения PHP
- runkit
- Функция Runkit_Sandbox() - Класс Runkit Sandbox -- это виртуальная машина PHP
- Функция Runkit_Sandbox_Parent() - Класс анти-песочницы для Runkit
- runkit_class_adopt
- runkit_class_emancipate
- runkit_constant_add
- runkit_constant_redefine
- runkit_constant_remove
- runkit_function_add
- runkit_function_copy
- runkit_function_redefine
- runkit_function_remove
- runkit_function_rename
- runkit_import
- runkit_lint_file
- runkit_lint
- runkit_method_add
- runkit_method_copy
- runkit_method_redefine
- runkit_method_remove
- runkit_method_rename
- runkit_return_value_used
- runkit_sandbox_output_handler
- runkit_superglobals
Коментарии
404 Not Found