runkit_sandbox_output_handler

(PECL runkit >= 0.7.0)

runkit_sandbox_output_handler Specify a function to capture and/or process output from a runkit sandbox

说明

runkit_sandbox_output_handler ( object $sandbox [, mixed $callback ] ) : mixed

Ordinarily, anything output (such as with echo or print) will be output as though it were printed from the parent's scope. Using runkit_sandbox_output_handler() however, output generated by the sandbox (including errors), can be captured by a function outside of the sandbox.

Note: 沙箱支持(是 runkit_lint()runkit_lint_file() 函数,与 Runkit_Sandbox 类所必需)仅可用于 PHP 5.1.0 或 PHP 5.0 的特别修补版本,并需启用线程安全。更多信息可参见 runkit 包中的 README 文件。

Note: Deprecated

As of runkit version 0.5, this function is deprecated and is scheduled to be removed from the package prior to a 1.0 release. The output handler for a given Runkit_Sandbox instance may be read/set using the array offset syntax shown on the Runkit_Sandbox class definition page.

参数

sandbox

Object instance of Runkit_Sandbox class on which to set output handling.

callback

Name of a function which expects one parameter. Output generated by sandbox will be passed to this callback. Anything returned by the callback will be displayed normally. If this parameter is not passed then output handling will not be changed. If a non-truth value is passed, output handling will be disabled and will revert to direct display.

返回值

Returns the name of the previously defined output handler callback, or FALSE if no handler was previously defined.

范例

Example #1 Feeding output to a variable

<?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 gettext 函数 specify the character encoding in which the messages from the domain message catalog will be returnedphp cubrid 过时的别名和函数 read data from glo and send it to std outputphp dbx 函数 sort a result from a dbx query by a custom sort functionphp expect 函数 waits until the output from a process matches one of the patterns a specified time period has passed or an eof is seenphp grapheme 函数 function to extract a sequence of default grapheme clusters from a text buffer which must be encoded in utf 8php output control 函数 在ob start中使用的用来压缩输出缓冲区中内容的回调函数。ob start callback function to gzip output bufferphp posix 函数 return the effective group id of the current processphp radius 函数 extracts the data from a tagged attributephp 函数处理 函数 register a function for execution on each tickphp runkit 函数 add a new function similar to create functionphp runkit 函数 copy a function to a new function namephp runkit 函数 replace a function definition with a new implementationphp runkit 函数 remove a function definitionphp runkit 函数 change a function s namephp runkit 函数 process a php file importing function and class definitions overwriting where appropriatephp runkit 函数 copies a method from class to anotherphp runkit 函数 specify a function to capture and/or process output from a runkit sandboxphp uopz 函数 gets the static variables from function or method scopephp runkit 函数 runkit anti sandbox classphp runkit 函数 runkit sandbox class php virtual machine
关注编程学问公众号