内容へ移動
ゼロと無限の間に
フリーでオープンソースなJavaScriptとかPHPとか。
ユーザ用ツール
ログイン
サイト用ツール
検索
ツール
文書の表示
以前のリビジョン
バックリンク
最近の変更
メディアマネージャー
サイトマップ
ログイン
>
最近の変更
メディアマネージャー
サイトマップ
現在位置:
ゼロと無限の間に
»
PHP道具箱
»
PHPのスタックトレースを見やすくする - StackTrace.php
トレース:
php-tool-box:stacktrace
この文書は読取専用です。文書のソースを閲覧することは可能ですが、変更はできません。もし変更したい場合は管理者に連絡してください。
====== PHPのスタックトレースを見やすくする - StackTrace.php ====== スタックトレース(バックトレース)を見やすくするクラスです。\\ ユーザーエラーのハンドリングなんかで使う機会があるかもです。 <code php> <?php class StackTrace { /** * スタックトレースを全部繋げて文字列にする * @param string $delim スタックトレース間の区切り文字。デフォルトは改行 * @return string 文字列にしたスタックトレース */ public static function toString($delim = "\n") { $arr = array(); foreach (debug_backtrace() as $trace) { $args = array(); foreach ($trace['args'] as $arg) { $args[] = StackTrace::_var2str($arg); } $line = $trace['class'] . $trace['type'] . $trace['function']; $line .= '(' . implode(', ', $args) . ')'; $line .= ' at ' . $trace['file'] . ' (' . $trace['line'] . ')'; $arr[] = $line; } return implode($delim, $arr); } /** * 値を表す文字列にする * @private */ private static function _var2str($var) { $type = gettype($var); switch ($type) { case 'boolean': return $var ? 'true' : 'false'; case 'integer': case 'double': return $var; case 'string': return "'$var'"; case 'array': $arr = array(); foreach ($var as $child) { $arr[] = StackTrace::_var2str($child); } return 'array(' . implode(", ", $arr) . ')'; case 'object': return get_class($var) . ' Object'; default: return $type; } } } </code>
php-tool-box/stacktrace.txt
· 最終更新: 2008/03/12 23:43 by
dgbadmin
ページ用ツール
文書の表示
以前のリビジョン
バックリンク
文書の先頭へ