在javascript中,我可以使用
select = new ol.interaction.Select (
toggleCondition: ol.events.condition.never
)
我现在正在编写一个php脚本,并希望打印到调试控制台。使用上面的代码在php中不起作用。看来我需要使用echo或其他命令,但我需要输出显示在输出控制台内,而不是浏览器窗口。
答案 0 :(得分:36)
<?php
echo '<script>console.log("Your stuff here")</script>';
?>
答案 1 :(得分:10)
这可以使用数组,对象或变量,也可以转义可能破坏JS的特殊字符:
function debugToConsole($msg) {
echo "<script>console.log(".json_encode($msg).")</script>";
}
修改:在json_encode
语句中添加了echo
。如果$msg
变量中有引号,这会阻止您的脚本中断。
答案 2 :(得分:1)
<?php echo "<script>console.log({$yourVariable})</script>"; ?>
答案 3 :(得分:1)
有更好的方法可以在PHP中打印变量值。其中之一是使用buildin var_dump()函数。如果你想使用var_dump(),我还建议安装Xdebug(来自https://xdebug.org),因为它可以生成更多可读的打印输出。
将值打印到浏览器控制台的想法有些奇怪,但如果您真的想要使用它,那么Google Chrome扩展程序非常有用,它可以满足您的所有需求。您可以在consle.com找到它。它也适用于Vivaldi和Opera(尽管您需要“下载Chrome扩展程序”扩展程序才能安装它)。扩展名附带了您在代码中使用的PHP库。
答案 4 :(得分:0)
您也可以尝试这种方式:
<?php
echo "<script>console.log('$variableName')</script>";
?>
答案 5 :(得分:0)
https://github.com/bkdotcom/PHPDebugConsole
支持所有的JavaScript控制台方法:
断言,清除,计数,错误,组,groupCollapsed,groupEnd,信息,日志,表,跟踪,时间,timeEnd,警告
再加上一些:
警报,groupSummary,groupUncollapse,timeGet
$debug = new \bdk\Debug(array(
'collect' => true,
'output' => true,
'outputAs' => 'script',
));
$debug->log('hello world');
$debug->info('all of the javascript console methods are supported');
\bdk\Debug::_log('can use static methods');
$debug->trace();
$list = array(
array('userId'=>1, 'name'=>'Bob', 'sex'=>'M', 'naughty'=>false),
array('userId'=>10, 'naughty'=>true, 'name'=>'Sally', 'extracol' => 'yes', 'sex'=>'F'),
array('userId'=>2, 'name'=>'Fred', 'sex'=>'M', 'naughty'=>false),
);
$debug->table('people', $list);
这将在脚本关闭时输出适当的<script>
标签
或者,您可以输出为html,chromeLogger,FirePHP,文件,纯文本,websocket等
即将发布的版本包括psr-3(记录器)实现
答案 6 :(得分:0)
对于适用于数组,字符串和对象的简单操作,我构建了此功能:
function console_testing($var){
$var = json_encode($var,JSON_UNESCAPED_UNICODE);
$output = <<<EOT
<script>
console.log($var);
</script>
EOT;
echo $output;
}