自制PHP调试用类
自制的调试用的PHP类
调试前端代码调试惯了,总是习惯查看各种输出结果,转移到PHP上后,确发现没那么方便,于是自己封装了一个,主要用来方便查看PHP输出的结果(接口调试还请使用postman)。
废话到此为止,上代码:
代码
pre($test_arr, 'needset', false);
这时必须传入第二个 变量名的参数, 第三个参数设置为false则会执行后续程序
推荐多维数组使用pre 或者 log
*/
class Debug
{
function __construct() {}
private function get_data($array) {
$ret = '';
if (is_array($array)) {
$size = count($array);
$string = "";
if ($size) {
$count = 0;
$string .= "{ \n";
foreach ($array as $var => $value) {
$string .= $var. " = ".$value;
if ($count++ < ($size - 1)) {
$string .= ", \n";
}
}
$string .= " \n}";
}
$ret = $string;
} else {
$ret = $array;
}
return $ret;
}
// 以注释形式展示
public function notes($var, $varname = 'debug', $isexit = true) {
$data = $this->get_data($var);
$start = "\n";
$ret = $start.$data."\n".$end;
echo $ret;
if ($isexit) {
exit;
}
}
// 以console.log形式显示
public function log($var, $varname = 'debug', $isexit = true) {
$varname = "'变量".$varname."的值是' ,";
// 如果是数组 转化为JS对象
if (is_array($var)) {
$js_object = json_encode($var);
} else {
$js_object = "'".$var."'";
}
echo "";
if ($isexit) {
exit;
}
}
public function txt($var, $varname = 'debug', $isexit = true) {
$filename = $varname.'.txt';
$data = $this->get_data($var);
$file_text = $varname."变量的值为: \n".$data;
$file_text_len = strlen($file_text);
@$fp = fopen($filename, 'w');
if (!$fp) {
echo "对不起,txt文件读写有误,请使用LOG 或者 NOTES 模式重试";
exit;
}
fwrite($fp, $file_text, $file_text_len);
fclose($fp);
if ($isexit) {
exit;
}
}
public function pre($var, $varname = 'debug', $isexit = true) {
echo "";
print_r("变量{$varname}值为:");
print_r($var);
echo "
";
if ($isexit) {
exit;
}
}
}
?>