khepin / rr-dumpserver
roadrunner PHP 应用服务器的一个数据转储插件
v0.1.0
2021-01-29 04:35 UTC
Requires
- spiral/goridge: ^2.4
- symfony/var-dumper: ^5.2
README
Roadrunner 的调试器/转储服务器。
当我开始使用 Roadrunner 进行 PHP 开发时,我发现调试体验有些令人沮丧。我已经习惯了 Laravel 的 dump
和 dd
函数,并希望 Roadrunner 开发也有类似的功能。
这就是一个尝试。它作为一个插件/服务为 Roadrunner 工作,你可以在你的开发环境中启用它。它在一个指定的端口上提供 UI,你可以查看你的转储调用的结果。
这些调用是通过全局的 rrdump
辅助函数完成的。
示例
注意,虽然 gif 提到了 gRPC,但这并不意味着这仅限于 gRPC。
设置
应用服务器
在你的 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
或你使转储服务器可用的任何地址/端口,并在浏览器中查看转储的数据。