proklung/web-profilier-bundle

针对 Bitrix+Symfony 或 Wordpress+Symfony 的自定义 profilier。

安装: 34

依赖: 1

建议者: 0

安全: 0

星标: 1

关注者: 1

分支: 0

开放问题: 0

语言:Twig

类型:symfony-bundle

1.4.0 2021-08-27 09:03 UTC

README

针对特定问题的实验性解决方案 - 将基于 WebProfilerBundle 的取法应用于 Bitrix + Symfony(或 Wordpress + Symfony)的定制版本。

内部

开发中。

安装

Composer 2.0

composer require proklung/web-profilier-bundle

Composer 1.0

composer.json

    "repositories": [
{
"type": "git",
"url": "https://github.com/proklung/web-profilier-bundle"
}
]

配置

/local/config/packages 目录下配置 custom-web-profiler.yaml 文件。

custom-web-profiler:
  enabled: true
  profiler_cache_path: '%kernel.cache_dir%/profiler.json'
  # Дополнительный путь к твиговским шаблонам профайлера и коллекторов
  profiler_twig_templates_path:
    - '%kernel.project_dir%/twig/view'
  # Игнорируемые url (частичное совпадение)
  ignoring_url:
    - '/bitrix/admin'
    - 'public_session.php'
    - '/bitrix/urlrewrite.php'
    - '/_profiler'
  
  # Отключение некоторых профайлеров из стандартного набора по коду. Если false, то будет отрублен.
  # По умолчанию они все включены.
  profilers:
    json_response: false

连接自定义数据收集器

使用方法

仅在用户登录为管理员时才有效。不建议在生产环境中使用。

当在 standalone_bundles.php 中启用此包时,会出现在 /_profiler/ 页面,其中会显示当前会话中的数据。

如果未安装 ,则 профайлер位于 /bitrix/admin/_profiler.php(初始化时会复制一次)。

在管理员控制台中,出现两个按钮在行政面板上(在新窗口中打开)

  1. 当前请求的 профайлер - 打开当前打开页面的 profiler 数据的链接。
  2. 最后一个请求的 профайлер - 打开最后请求的 profiler 数据的链接。与第一个按钮的区别在于,可以在另一个选项卡中打开返回 json 的页面,并查看其 profiler。

注意事项

要跟踪 Symfony 路由,Symfony 路由必须满足两个条件

  1. 在处理路由之后,但在确定这是否是原生或 symphony 路由之前,需要启动一个自定义事件 kernel.after_handle_request,并将一个继承自 Symfony\Contracts\EventDispatcher\Event 并实现两个方法的类作为参数传递 - getRequestgetResponse

  2. 在脚本执行完毕、处理 symphony 路由之后,应该触发 Bitrix 的事件 OnAfterEpilog,其中作为参数传递 responserequest

在我的研究 中,所有这些都得到了支持。

  1. 不被 profiler 捕获通过浏览器“野路”方式输出的数据。例如
$data = ['success' => true]
echo json_encode($data);