是否可以写入字符串或日志到控制台?
我的意思是
就像在JSP中一样,如果我们打印system.out.println("some")这样的东西,它将出现在控制台,而不是页面上。
是否可以写入字符串或日志到控制台?
我的意思是
就像在JSP中一样,如果我们打印system.out.println("some")这样的东西,它将出现在控制台,而不是页面上。
当前回答
Use:
function console_log($data) {
$bt = debug_backtrace();
$caller = array_shift($bt);
if (is_array($data))
$dataPart = implode(',', $data);
else
$dataPart = $data;
$toSplit = $caller['file'])) . ':' .
$caller['line'] . ' => ' . $dataPart
error_log(end(split('/', $toSplit));
}
其他回答
function phpconsole($label='var', $x) {
?>
<script type="text/javascript">
console.log('<?php echo ($label)?>');
console.log('<?php echo json_encode($x)?>');
</script>
<?php
}
截至2017年,Firebug和FirePHP已被禁用。
我对ChromePHP工具进行了一些小修改,以允许从FirePHP无缝迁移到Firebug,以便通过控制台进行调试。
这篇文章用简单明了的步骤解释
5分钟内从FirePHP迁移到ChromePHP(不破坏现有代码)
如果你正在寻找一个简单的方法,echo as JSON:
<script>
console.log(<?= json_encode($foo); ?>);
</script>
这是我的解决方案,这个的好处是你可以传递尽可能多的参数。
function console_log()
{
$js_code = 'console.log(' . json_encode(func_get_args(), JSON_HEX_TAG) .
');';
$js_code = '<script>' . $js_code . '</script>';
echo $js_code;
}
这样称呼它
console_log('DEBUG>>', 'Param 1', 'Param 2');
console_log('Console DEBUG:', $someRealVar1, $someVar, $someArray, $someObj);
现在你应该能够在你的控制台看到输出,愉快的编码:)
简短简单,适用于数组、字符串或对象。
function console_log( $data ) {
$output = "<script>console.log( 'PHP debugger: ";
$output .= json_encode(print_r($data, true));
$output .= "' );</script>";
echo $output;
}