简易版debug函数

Tim Huang 发表于 2015-09-28 浏览数 78

可能出于习惯,在我的框架里一直有一个debug的函数,方便我打印各类php数据。所以在研究其它系统时,也希望有这样的函数。方便快速调试。

之前一直是用到的时候再修改一下。感觉这样也挺浪费精力的。所以总结一下,把这个函数公开放到这里。

一、我可以在新系统里可以直接使用。

二、其它朋友有需要也可以用一下。

<?php
/**
 * 打印变量的值信息
 *
 * @param mixed $value 需要打印的变量
 * @param numeric $level 显示的级别,0为只打印变量,不退出,1为打印变量,并退出,
 *                       2为显示调用过程,不退出,3为显示调用过程并退出
 */
function debug($value, $level=0) {
    
    $calledFrom = debug_backtrace();
    $calledLast = current($calledFrom);

    $_info = "Display the debug information\n"
        . $calledLast['file']
        . " (on line " . $calledLast['line'] . " )\n";
    $var = var_export($value, 1);
    $_info.="$var\n\n";
    if (in_array($level, array(2, 3))) {
        unset($calledFrom[0]);
        foreach ($calledFrom as $key => $val) {
            $_info.="$key)" . $val['file']
                . " (on line " . $val['line'] . " )\n";
            foreach ($val['args'] as $k => $v) {
                $_info.="    Param $k)" . var_export($v, 1) . "\n";
            }
        }
    }
    $_info = str_replace('<', '<',
        str_replace('>', '>', $_info)
    );
    $_info = str_replace(' ', ' ', $_info);
    $_info = str_replace("\n", '<br/>', $_info);
    echo($_info);
    

    if (in_array($level, array(1, 3))) {
        exit;
    }
}
?>

发表在 | 标签为 simple-debug | 留下评论

简易版debug函数有 0 条评论

发表评论

*

* Reload Image

*

分类