分析器

编辑该页面

警告:你浏览的文档欧宝官网下载appob娱乐下载Symfony 4.2,不再维护。

这个页面的更新版本Symfob娱乐下载ony 6.2(当前的稳定版本)。

分析器

分析器是一个强大的开发工具让执行任何请求的详细信息。从来没有使分析器在生产环境中,因为它会导致重大安全漏洞在您的项目中。

安装

在应用程序中使用ob娱乐下载Symfony Flex之前,运行这个命令安装分析器使用它:

1
美元作曲家要求- dev symfony / prob娱乐下载ofiler-pack

现在在开发环境中浏览您的应用程序的任何页面让分析器收集信息。然后,点击任何元素的调试工具栏的底部注入你的页面打开web界面的Symfony分析器,它会像这样:ob娱乐下载

以编程方式访问配置数据

大多数时候,分析器信息访问和分析使用基于web的界面。然而,你也可以检索分析信息以编程方式由于提供的方法分析器服务。

当响应对象可用,使用loadProfileFromResponse ()方法来获取相关的简介:

1 2
/ /……美元分析器是“分析器”服务美元配置文件=美元分析器- >loadProfileFromResponse (美元响应);

分析器存储数据的请求时,它还将一个令牌与它;这个令牌是可用的X-Debug-TokenHTTP报头的反应。使用这个标记,您可以访问任何的形象由于过去的反应loadProfile ()方法:

1 2
美元令牌=美元响应- >- >get (“X-Debug-Token”);美元配置文件=美元分析器- >loadProfile (美元令牌);

提示

当分析器但不启用web调试工具栏,检查页面浏览器的开发工具的价值X-Debug-TokenHTTP报头。

分析器服务还提供了find ()方法根据某些标准寻找令牌:

1 2 3 4 5 6 7 8 9 10 11
/ /获取最新10令牌美元令牌=美元分析器- >找到(,,10,,,);/ /获取最新10所有URL包含/ admin /令牌美元令牌=美元分析器- >找到(,“/ admin /”,10,,,);/ /获取最新10为当地的POST请求令牌美元令牌=美元分析器- >找到(“127.0.0.1”,,10,“职位”,,);/ /获取最新10之间发生的令牌请求2和4天前美元令牌=美元分析器- >找到(,,10,,4天前的,2天前的);

数据收集器

分析器使用一些服务的信息称为“数据收集器”。ob娱乐下载Symfony提供了一些收藏家,得到关于请求的信息,日志记录器,路由缓存等。

运行这个命令让收藏家实际上启用应用程序的列表:

1
美元php bin /控制台调试:容器——标签= data_collector

你也可以创建自己的数据收集器存储任何数据由应用程序生成和显示的调试工具栏和分析器的web界面。

应用程序的执行时间

如果你想测量一些任务的时间花在你的应用程序中,不需要创建一个定制的数据收集器。相反,使用秒表组件提供公用事业概要文件代码并将结果显示在“性能”面板分析器的web界面。

当使用自动装配,type-hint任何参数秒表类和Symfony将ob娱乐下载注入秒表服务。然后,使用start (),大腿上()stop ()方法测量时间:

1 2 3 4 5 6 7 8
/ /用户报名和计时器开始……美元秒表- >开始(“用户注册”);/ /……做一些事情来注册用户……美元秒表- >圈(“用户注册”);/ /……注册过程完成美元秒表- >停止(“用户注册”);

提示

考虑使用等专业分析器黑焰测量和分析应用程序的执行细节。

使分析器有条件地

谨慎

可能使用一个匹配器使分析器有条件地在Symfony 4.0中被删除。ob娱乐下载

ob娱乐下载Symfony分析器不能启用/禁用有条件地使用匹配器,因为这个功能是在Symfony 4.0删除。然而,您可以使用使()禁用()的方法分析器在控制器类以编程方式管理分析器:

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
使用ob娱乐下载\组件\HttpKernel\分析器\分析器;/ /……DefaultController{/ /……公共函数someMethod(?分析器美元分析器){/ /美元分析器不会设置如果你的环境没有分析器(喜欢刺激,默认情况下)如果(= = !美元分析器){/ /如果存在,禁用这个控制器动作的分析器美元分析器- >禁用();}/ /……}}

为了使分析器是注入控制器需要创建一个别名指向现有的分析器服务:

  • YAML
  • XML
  • PHP
1 2 3
#配置/ services_dev.yaml服务:ob娱乐下载Symfony \分析器组件\ HttpKernel \ \分析器:“@profiler”

AJAX请求后更新Web调试工具栏

单页面应用程序(SPA)是与用户交互的web应用程序通过动态修改当前页面而不是整个新的页面从服务器加载。

默认情况下,调试工具栏显示信息的初始页面加载和每个AJAX请求后没有刷新。然而,你可以设置ob娱乐下载Symfony-Debug-Toolbar-Replace头的值1在AJAX请求的响应力工具栏的刷新:

1
美元响应- >- >集(“ob娱乐下载Symfony-Debug-Toolbar-Replace”,1);

最理想的是这个头应该只被设置在开发过程中,而不是生产。为此,创建一个事件订阅者和听kernel.response事件:

1 2 3 4 5 6 7 8 9 10 11 12 13
使用ob娱乐下载\组件\HttpKernel\事件\FilterResponseEvent;/ /……公共函数onKernelResponse(FilterResponseEvent美元事件){如果(!美元- >getKernel ()- >isDebug ()) {返回;}美元响应=美元事件- >getResponse ();美元响应- >- >集(“ob娱乐下载Symfony-Debug-Toolbar-Replace”,1);}
这项工作,包括代码示例,许可下Creative Commons冲锋队3.0许可证。