php简单实用的调试工具类

copy<?php
    
/*
 * 调试类
 */
class Common_Debug
{
    //打开错误报告
    public static function showError($debug = true)
    {
        if($debug){
            error_reporting(E_ALL);
            ini_set('display_errors', 'On');
        }else{
            error_reporting(0);
            ini_set('display_errors', 'Off');
        }
    }

    //打印数组
    public static function printR($data,$dump = false)
    {
        header("Content-Type:text/html;charset=utf-8");
        echo '<pre>';
        if($dump){
            var_dump($data);
        }else{
            print_r($data);
        }
        exit;
    }

    //写入日志
    public static function writeLog($data,$type=0,$fileName='test.log')
    {
        if(empty($data)){
            $data = array('data'=>'null');
        }
        $writeData = array('time' => date('Y-m-d H:i:s'),'data' => $data);
        if($type==1){
        	//格式化 
        	file_put_contents($fileName, print_r($writeData,true));
        }else{
        	file_put_contents($fileName, json_encode($writeData));
        }
    }

    //写入日志仅字符串
    //调用时先将数据转为字符串如:
    //	$data2 = __METHOD__.'['.__LINE__.'] -  $data  -> '.json_encode($data);
    public static function writeStr($str,$fileName='test.log')
    {
        if(empty($data)){
            $str= array('data'=>'null');
        }
     	file_put_contents($fileName, $str);
    }
    
}

posted @   pine007  阅读(250)  评论(0编辑  收藏  举报
编辑推荐:
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
点击右上角即可分享
微信分享提示