runkit_return_value_used
runkit_superglobals
runkit 함수 목록
PHP Manual

# 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

### 설명

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 지원(runkit_linux(), runkit_lint_file(), Runkit_Sandbox 클래스에 필요합니다)은 PHP 5.1이나 특별히 패치된 PHP 5.0에서 쓰레드 안전(therad safety)을 활성화해야 합니다. 자세한 정보는 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.

runkit_return_value_used
runkit_superglobals
runkit 함수 목록
PHP Manual