DukeAnn
做一个优雅的程序员

简易的php调试函数

虽然函数不大但是在程序开发上很有用

/**
 * 调试参数中的变量并中断程序的执行,参数可以为任意多个,类型任意,如果参数中含有'debug'参数,刚显示所有的调用过程。
 *
 * <code>
 * dd($var1,$obj1,$array1[,]................);
 * dd($var1,'debug');
 * </code>
 */
function dd(){
    $args = func_get_args();
    header('Content-type: text/html; charset=utf-8');
    echo "\n<pre>---------------------------------debug 调试信息.---------------------------------\n";
    foreach($args as $value){
        if(is_null($value)){
            echo '[is_null]';
        }elseif(is_bool($value) || empty ($value)){
            var_dump($value);
        }else{
            print_r($value);
        }
        echo "\n";
    }
    $trace = debug_backtrace();
    $next = array_merge(
        array (
            'line' => '??',
            'file' => '[internal]',
            'class' => null,
            'function' => '[main]'
        ),$trace[0]
    );

    $dir = realpath(__DIR__);
    if(strpos($next['file'], $dir) === 0){
        $next['file'] = str_replace($dir, "", $next['file']);
    }

    echo "\n---------------------------------debug 调试结束.---------------------------------\n\n文件位置:";
    echo $next['file'] . "\t第" . $next['line'] . "行.</pre>\n";

    if(in_array('debug', $args)){
        echo "\n<pre>";
        print_r($trace);
    }
    //运行时间
    exit;
}
DukeAnn的笔记本:DukeAnn的博客 » 简易的php调试函数
分享到: 更多 (0)

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址