(PECL runkit >= 0.7.0)
runkit_sandbox_output_handler — Specify a function to capture and/or process output from a runkit sandbox
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.
Notă: Susținerea cutiei cu nisip (sandbox) (necesară pentru runkit_lint(), runkit_lint_file(), și clasa Runkit_Sandbox) este disponibilă numai în PHP 5.1 sau cu versiuni special modificate ale PHP 5.0 și necesită ca siguranța firelor de execuție să fie activată. Vedeți fișierul README inclus în pachetul runkit pentru a afla mai multe informații.
Notă: 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;
?>
Exemplul de mai sus va afișa:
Sandbox Complete Hello string(9) "Excuse me" I lost myself.