有些框架在启动后会出现大量的debug信息扰乱视线,自带的打印函数又比较简陋,所以我实现了一个简单的带颜色和分割线的打印方法,方便再控制台进行调试
if (! function_exists('console')) {
function console($data, $color = '')
{
$output = '************************* [ 打印开始 ] *************************';
$output .= "\n";
if (is_array($data) || is_object($data)) {
$output .= print_r($data, true);
} elseif (is_bool($data)) {
$output .= $data ? 'true' : 'false';
} else {
$output .= "{$data}";
}
// 添加 ANSI 转义序列
$colors = [
'blue' => '0;34',
'green' => '0;32',
'light_green' => '1;32',
'red' => '0;31',
'light_red' => '1;31',
];
$color_code = empty($color) ? $colors[array_rand($colors)] : null;
$output .= "\n";
$output .= '************************* [ 打印结束 ] *************************';
if ($color_code) {
$output = "\033[{$color_code}m{$output}\033[0m";
}
echo $output . "\n";
}
}