如何在控制台中输出php的日志?

PHP是构建web应用程序最流行的服务器端脚本语言之一,因为它易于使用。无论您构建什么,让日志错误变得容易是确保短代码测试-学习调试跟踪的关键。因为PHP是在今天的现代浏览器之前开发的,所以它并没有一种简单的方法来将错误记录到浏览器控制台—尽管浏览器是与网站和web应用程序交互的主要方式,而且PHP是专门为构建web应用程序而设计的。使用JavaScript,日志到控制台是如此简单:

console.log("Message here");

什么是浏览器控制台?

首先,我们需要了解什么是浏览器控制台。

浏览器控制台是浏览器记录与特定web页面关联的信息的一种方式。记录的信息包括网络请求、JavaScript、CSS、安全错误和警告,以及在页面上下文中运行的JavaScript代码显式记录的错误、警告和信息消息。

为什么日志输出到控制台是一件好事

日志输出到浏览器控制台的主要原因有两个。

首先是简单。作为一名PHP开发人员,您最多希望使用两个应用程序:您最喜欢的代码编辑器或IDE和您的浏览器。在编辑器中编写代码并在浏览器中测试代码时,可以在两者之间进行切换。显示日志语句最自然的地方是浏览器内部。

第二个原因是尽可能减少日志的干扰。现在,您可以使用PHP的本机函数(如var_dump)进行日志记录。但是,当您使用var_dump时,您需要决定将输出写到哪里。它可能是浏览器的网页,但这可能会扭曲显示。输出的另一个可能的目的地可能是服务器中的一个文件,我建议使用类似于独白的开源日志库,而不是var_dump。如果您更喜欢输出视图变量(例如,与显示更相关的变量),并且不希望影响web页面,那么将日志记录到浏览器控制台可能是一个更好的主意。

如何使用PHP代码直接登录控制台

有两种主要的方法可以使用(主要是)PHP代代码:使用json_encode函数和使用PHP库。

使用json_encode函数

假设您想要在视图层中记录一个PHP变量$view_variable。还记得console.log是一个JavaScript函数吗?关键原则是,我们可以使用JSON将PHP变量传递给JavaScript函数。你创建一个这样的PHP函数:

<?php
function console_log($output, $with_script_tags = true) {
    $js_code = 'console.log(' . json_encode($output, JSON_HEX_TAG) . 
');';
    if ($with_script_tags) {
        $js_code = '<script>' . $js_code . '</script>';
    }
    echo $js_code;
}

使用PHP库来控制日志

如果您喜欢使用已经解决了这个问题的开源库,我推荐两个备选方案。它们是PHPDebugConsole(这里是安装说明和代码)和PHPConsole(这里是安装说明和代码)。

区分PHP中的异常和错误
Mysql MyISAM和InnoDB区别