acseo/profiler-cli

Symfony CLI 命令,用于与 Symfony Profiler 交互,显示并导出 HTTP 请求为 curl 命令。

安装次数: 2

依赖者: 0

建议者: 0

安全: 0

星标: 0

关注者: 3

分支: 0

开放问题: 0

类型:symfony-bundle

dev-main / 1.0.x-dev 2024-09-10 13:29 UTC

This package is auto-updated.

Last update: 2024-09-10 13:31:26 UTC


README

ProfilerCliBundle

此 Symfony 扩展提供与 Symfony Profiler 交互的 CLI 命令。它允许用户显示 profiler 令牌的详细信息,导出 HTTP 请求的 curl 命令,并以高效灵活的方式与 profiler 数据交互。

特性

  • 列出带有详细信息的最近 profiler 令牌(IP、URL、HTTP 方法等)。
  • 显示特定令牌的详细信息,包括头信息、请求体和生成的 curl 命令。
  • 导出单个令牌或检索到的所有令牌的 curl 命令。
  • 通过易用的交互式菜单或使用命令行选项进行直接访问。

要求

  • PHP 7.4 或更高版本
  • Symfony 5.x 或 6.x
  • Symfony Profiler 已启用

安装

  1. 通过 composer 安装包
composer require acseo/profiler-cli
  1. 在 bundles.php 中启用包
return [
    // Other bundles
    ACSEO\ProfilerCliBundle\ProfilerCliBundle::class => ['dev' => true],
];
  1. 通过检查 config/packages/dev/web_profiler.yaml 确保环境中的 Symfony Profiler 已启用
web_profiler:
    toolbar: true
    intercept_redirects: false

使用方法

列出 Profiler 令牌

默认情况下,命令列出最近的 profiler 令牌,显示它们的令牌、IP 地址、HTTP 方法、URL 和请求时间。

php bin/console acseo:profiler-cli

您可以使用以下选项过滤令牌

  • --ip:按 IP 地址过滤
  • --url:按 URL 过滤
  • --method:按 HTTP 方法过滤(例如,GETPOST
  • --limit:指定要检索的令牌数(默认为 10
  • --start:指定起始日期,格式为 Y-m-d H:i:s
  • --end:指定结束日期,格式为 Y-m-d H:i:s

示例

php bin/console acseo:profiler-cli --limit=5 --method=POST

显示令牌详细信息

您可以直接通过传递 --token 选项显示特定令牌的详细信息

php bin/console acseo:profiler-cli --token=abc123

这将显示 HTTP 请求信息,包括头信息、请求体和生成的 curl 命令。

导出 curl 命令

要导出特定令牌的 curl 命令,同时使用 --token--export 选项

php bin/console acseo:profiler-cli --token=abc123 --export

这将生成一个文件,格式为 curl_YmdHis-abc123.txt,其中包含 curl 命令。

您还可以导出检索到的所有令牌的 curl 命令

php bin/console acseo:profiler-cli --export

交互式菜单

在没有选项的情况下运行命令时,将显示交互式菜单。您可以使用以下键导航菜单

m: Redisplay the token list
d: Display the details of a specific token
e: Export the curl command for the selected token
q: Quit the program

示例用例

  • 自动化测试:使用生成的 curl 命令重放 HTTP 请求并测试 API 行为。
  • 调试:快速获取请求头和体进行分析。
  • 分析:通过 IP、URL 或 HTTP 方法过滤和分析了特定的请求。

贡献

我们欢迎贡献!请提交一个拉取请求或提出一个讨论问题。请确保遵循现有的编码风格,并在适用的情况下包含单元测试。

许可证

此包根据 MIT 许可证许可。有关详细信息,请参阅 LICENSE 文件。