khepin/rr-dumpserver

roadrunner PHP 应用服务器的一个数据转储插件

v0.1.0 2021-01-29 04:35 UTC

This package is auto-updated.

Last update: 2024-08-29 05:31:22 UTC


README

Roadrunner 的调试器/转储服务器。

当我开始使用 Roadrunner 进行 PHP 开发时,我发现调试体验有些令人沮丧。我已经习惯了 Laravel 的 dumpdd 函数,并希望 Roadrunner 开发也有类似的功能。

这就是一个尝试。它作为一个插件/服务为 Roadrunner 工作,你可以在你的开发环境中启用它。它在一个指定的端口上提供 UI,你可以查看你的转储调用的结果。

这些调用是通过全局的 rrdump 辅助函数完成的。

示例

注意,虽然 gif 提到了 gRPC,但这并不意味着这仅限于 gRPC。

debug-gif

设置

应用服务器

在你的 main.go

package main

import (
    // ...
	"github.com/spiral/roadrunner/service/rpc"
	dumpserver "github.com/khepin/rr-dumpserver"
)

func main() {
    // Other service registration
    // ...
	rr.Container.Register(rpc.ID, &rpc.Service{}) // rpc is required
	rr.Container.Register(dumpserver.ID, &dumpserver.Service{})

	rr.Execute()
}

在你的 .rr.yaml

rpc:
  enable: true
  listen: tcp://127.0.0.1:6001

dumpserver:
  enable: true
  HistorySize: 2000 # How many dumps to keep in memory
  address: :8089

PHP 代码

通过 composer 安装包: composer require khepin/rr-dumpserver

使用你的 RPC 参数初始化转储器

use Khepin\RRDumpServer\RRDumper;
use Spiral\Goridge\RPC;
use Spiral\Goridge\SocketRelay;

$relay = new SocketRelay("127.0.0.1", 6001);
$rpc = new RPC($relay);

RRDumper::setupInstance($rpc);

用法

在你的代码的任何地方,只需调用 rrdump($var)。然后导航到 localhost:8089 或你使转储服务器可用的任何地址/端口,并在浏览器中查看转储的数据。