karontek/bcons

bcons 是后端的 console.log,允许您将 PHP 代码中的调试数据发送到浏览器开发者工具。

v1.0.26 2024-07-25 06:14 UTC

README

此包允许您将 PHP 代码中的消息发送到 bcons 控制台。

它允许您执行调试任务,例如在代码的指定点记录消息或变量的值,显示错误和警告,以及跟踪会话、cookie 和有效负载数据。

屏幕截图

bcons console in a devtools panel bcons messages shown in the devtools console Warning messages Error messages Payload sent to the server Session data Cookies data

需求

此包仅需要 PHP >= 5.3.3,允许其在旧代码中使用(它最需要的地方 😅)。

您还需要一个 bcons 账户(有一个针对 1 个用户和 1 个项目的“永久免费”计划)和免费的 bcons 浏览器扩展。

设置说明

  1. bcons.dev 上创建账户

    1. 在“账户”页面,复制您的用户令牌。
    2. 导航到“项目”页面,创建您的项目,并将令牌分配给它。复制此令牌。
  2. 安装 bcons 浏览器扩展。

    基于 Chromium 的浏览器(Google Chrome、Microsoft Edge、Opera、Vivaldi、Brave 等)

    Firefox

    安装后,点击浏览器中的扩展图标,选择“选项”。输入您的用户令牌。浏览器扩展会为您的项目中定义的域的每个请求添加一个“Bcons-User”头,使用您的用户令牌。这使服务器代码只能将生成的任何调试消息发送给您。

    Firefox 用户注意事项:默认情况下,扩展程序不会允许在所有网站上工作。要启用它,请转到“附加组件和主题”菜单部分,点击 bcons 扩展,然后点击“权限”选项卡,并勾选“访问所有网站的数据”选项。

  3. 安装 PHP 包

    composer require karontek/bcons

用法

实例化 bcons 类。

use Karontek\Bcons\Bcons;

$console = new Bcons('your project token');

当 bcons 类被实例化时,它会自动发送包括请求数据有效负载、当前会话数据和发送的 cookie 的调试消息。

它还会发送 PHP 引起的每个警告和错误的消息。

但 bcons 的真正力量来自于发送您自己的消息的能力。使用 log、warn、error 方法(或 Console API 的任何方法)发送消息并在您的 bcons 控制台中查看它们。

$console->log($currentUserData);
$console->warn("Zip code not available for user $userId");
$console->error("No user with id $userId found");

所有方法都可以链式调用

$console->group('User info')->log($userData)->warn('No zip code available')->groupEnd();

这些消息在哪里显示?

消息在 bcons 控制台中显示,您可以通过 bcons 网站访问(登录并导航到 控制台 页面)或通过浏览器扩展的开发者工具面板查看。它们也会出现在您的浏览器开发者工具控制台中。

控制台 API 支持说明

  • 所有接受数据的函数都可以接收多个参数。除非任何参数是数组/对象,否则 bcons 将将所有值连接起来,并以单个字符串显示,类似于开发者工具控制台的行为。

  • group 和 groupCollapsed 方法接受一个第二参数,该参数用作显示组数据的 details 元素的 CSS 类名。

    在bcons控制台中预定义了从group1group22的类,这些类针对浅色和深色主题进行了优化配色(也可以只传递1到22之间的数字)。它们还可用作以下命名字类:redorangeamberyellowlimegreenemeraldtealcyanskyblueindigovioletpurplefuchsiapinkrosestoneneutralzincgrayslate(请参阅Tailwind颜色调板)。

    彩色组仅限于bcons控制台。当彩色组在开发者工具控制台中显示时,它将显示为普通组。

  • 在开发者工具控制台中,调用clear将清除控制台并显示Console cleared消息。bcons的清除方法接受一个可选的布尔参数;如果设置为false,则不会显示该消息。您还可以使用clr方法。

  • debuginfodirdirxml方法都是log方法的别名。

附加功能

我们增加了一些附加功能,以提供更好的调试体验。

  • clog:这个函数的行为类似于常规的log()调用,但可以将内容以22种颜色之一显示。当您有大量消息并希望强调其中一条时非常有用。

    for ($x = 1; $x < 23; ++$x)
      $console->clog($x, "Message with color $x");
  • clr:清除所有控制台面板而不显示任何消息。

  • ping:有时我们只需要知道我们的脚本已达到某个点。这个函数就是这样做的:它显示文件名和行号,占用很少的垂直空间。您可以添加一个可选的标题。

    $console->ping('Begin checkout process');