感谢你来到这里
我真的很激动
盼望,能有你的支持
捐赠可扫描二维码转账支付
支付宝扫一扫付款
微信扫一扫付款
(微信为保护隐私,不显示你的昵称)
多数时候,profiler(分析器)信息是通过基于web的可视化界面来进行访问和分析的。然而,你也可以通过程序取出分析信息,这得益于 profiler
服务。
当响应对象可用时,使用 loadProfileFromResponse()
访问来访问与之关联的分析结果:
1 2 | // ... $profiler is the 'profiler' service / $profiler即是'profiler'服务
$profile = $profiler->loadProfileFromResponse($response); |
当分析器存储了一个请求中的数据时,会关联一个token给它;这个token在响应的 X-Debug-Token
HTTP 头中可用。使用这个token,你可以访问到过往响应中的任何分析结果,这得益于 loadProfile()
方法:
1 2 | $token = $response->headers->get('X-Debug-Token');
$profile = $container->get('profiler')->loadProfile($token); |
当分析器被开启但web debug toolbar(除错工具条)没有开启时,可以在页面内使用浏览器的“开发者工具”来侦测 X-Debug-Token
HTTP 头。
profiler
服务也提供了 find()
方法以基于某些标准来寻找tokens:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | // get the latest 10 tokens
// 获取最新的10个token
$tokens = $container->get('profiler')->find('', '', 10, '', '', '');
// get the latest 10 tokens for all URL containing /admin/
// 获取最新的10个“URL中包含有/admin/”的token
$tokens = $container->get('profiler')->find('', '/admin/', 10, '', '', '');
// get the latest 10 tokens for local POST requests
// 获取最新的10个“本地POST请求”的token
$tokens = $container->get('profiler')->find('127.0.0.1', '', 10, 'POST', '', '');
// get the latest 10 tokens for requests that happened between 2 and 4 days ago
// 获取最新的10个“请求发生在前4天到前2天之间”的token
$tokens = $container->get('profiler')
->find('', '', 10, '', '4 days ago', '2 days ago'); |
本文,包括例程代码在内,采用的是 Creative Commons BY-SA 3.0 创作共用授权。