第一个接触的框架是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先去掉
可以根据自己情况,酌情修改,适合自己的才是最好的