Delicious Bookmark this on Delicious Share on Facebook SlashdotSlashdot It! Digg! Digg



PHP : Function Reference : runkit Functions : runkit_sandbox_output_handler

runkit_sandbox_output_handler

Specify a function to capture and/or process output from a runkit sandbox (PECL runkit:0.7-0.9)
mixed runkit_sandbox_output_handler ( object sandbox [, mixed callback] )

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:

Sandbox support (required for runkit_lint(), runkit_lint_file(), and the Runkit_Sandbox class) is only available with PHP 5.1 or specially patched versions of PHP 5.0 and requires that thread safety be enabled. See the README file included in the runkit package for more information.

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.

Parameters

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.

Return Values

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

Examples

Example 2094. 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;
?>

The above example will output:

Sandbox Complete

Hello
string(9) "Excuse me"
I lost myself.


Change Language


Follow Navioo On Twitter
Runkit_Sandbox
Runkit_Sandbox_Parent
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
eXTReMe Tracker