PHP浏览器友好输出(tp框架的dump())

第一个接触的框架是tp框架,当时没有发现,后来接触的框架多了,才发现tp是真的好用,尤其是这个dump(),这个打印的函数,以致于后来,基本都会把这个公共函数整合进框架里面

两步

1,需要写配置

define('IS_CLI', PHP_SAPI == 'cli' ? true : false);
define('IS_WIN', strpos(PHP_OS, 'WIN') !== false);

可以放首页index里面,也可以放settings等一些必定加载到的配置文件里面

2,dump()函数

/**
 * 浏览器友好的变量输出
 * @access public
 * @param  mixed       $var   变量
 * @param  boolean     $echo  是否输出(默认为 true,为 false 则返回输出字符串)
 * @param  string|null $label 标签(默认为空)
 * @param  integer     $flags htmlspecialchars 的标志
 * @return null|string
 */
function dump($var, $echo = true, $label = null, $flags = ENT_SUBSTITUTE)
{
    $label = (null === $label) ? '' : rtrim($label) . ':';

    ob_start();
    var_dump($var);
    $output = preg_replace('/\]\=\>\n(\s+)/m', '] => ', ob_get_clean());

    if (IS_CLI) {
        $output = PHP_EOL . $label . $output . PHP_EOL;
    } else {
        if (!extension_loaded('xdebug')) {
            $output = htmlspecialchars($output, $flags);
        }

        $output = '<pre>' . $label . $output . '</pre>';
    }

    if ($echo) {
        echo($output);
        exit();
    }

    return $output;
    exit();
}

根据自己框架需要,放入公共函数加载的问题,tp的和我用的这个都是在helper.php下面,有的项目叫lib,也有其他名字的

根据自己需要,后面可以加上exit,简化打印数据之后,在写一个die()的步骤,如果不想停掉,也可以把倒数第二个exit(),换成return,最后一个exit去掉。

另外在放一个,之前框架前人写的函数

function _d($param)
    {
        if (is_array($param)) {
            $param = json_encode($param);
            echo $param;
        } else {
            var_dump($param);
        }
        exit();
    }

放一下三个var_dump(),dump(),还有_d()三个打印的对比图

dump()的exit先去掉

 可以根据自己情况,酌情修改,适合自己的才是最好的

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值