runkit_sandbox_output_handlerとは? わかりやすく解説

Weblio 辞書 > コンピュータ > PHP関数リファレンス > runkit_sandbox_output_handlerの意味・解説 

runkit_sandbox_output_handler

(PECL)
runkit_sandbox_output_handler — サンドボックス内での出力を取得・処理するための関数を指定する

説明

mixed runkit_sandbox_output_handler ( object sandbox [, mixed callback] )
通常、(echo()print() などの) あらゆる出力は、親のスコープから出力しているかのように出力されます。 しかし、runkit_sandbox_output_handler() を使用すると サンドボックス内の出力(エラーを含む)をサンドボックス外で受け取ることが 可能です。
注意: サンドボックスのサポート (runkit_lint(), runkit_lint_file(), および Runkit_Sandbox クラスで使用)は、PHP 5.1 以降または特別なパッチを適用した PHP 5.0 でのみ利用可能であり、スレッドセーフを有効にしておく必要があります。 詳細については、runkit パッケージに含まれる README ファイルを参照してください。
非推奨: runkit バージョン 0.5 以降この関数は非推奨となっており、1.0 が リリースされるまでに削除される予定です。指定した Runkit_Sandbox インスタンスの出力ハンドラは、配列オフセット構文を使用して 取得/設定が可能です。この方法について、 Runkit_Sandbox のクラス定義で説明しています。

パラメータ

sandbox
出力の処理を設定する Runkit_Sandbox クラスのインスタンス。
callback
ひとつのパラメータを受け取る関数の名前。 sandbox による出力がこのコールバックに 渡されます。コールバックが返す値は通常通り表示されます。 このパラメータが渡されなかった場合、出力の操作方法は変わりません。 真でない値が渡された場合、出力の操作は無効となり直接表示されます。

返り値

前に定義されていた出力ハンドラコールバックの名前を返します。 ハンドラが定義されていなかった場合は FALSE を返します。

例 1957. 出力を変数に送る
<?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.

    





英和和英テキスト翻訳>> Weblio翻訳
英語⇒日本語日本語⇒英語
  

辞書ショートカット

すべての辞書の索引

runkit_sandbox_output_handlerのお隣キーワード
検索ランキング

   

英語⇒日本語
日本語⇒英語
   



runkit_sandbox_output_handlerのページの著作権
Weblio 辞書 情報提供元は 参加元一覧 にて確認できます。

   
PHP Documentation GroupPHP Documentation Group
Copyright © 1997 - 2024 by the PHP Documentation Group.

©2024 GRAS Group, Inc.RSS