Laravel 调试利器 —— Laravel Debugbar 扩展包安装及使用教程(转)
Laravel 调试利器 —— Laravel Debugbar 扩展包安装及使用教程
1、简介
Laravel Debugbar 在 Laravel 5 中集成了 PHP Debug Bar ,用于显示调试及错误信息以方便开发。该扩展包包含了一个 ServiceProvider 用于注册调试条及开发过程中数据集合显示,你可以发布其前端资源和配置,还可以配置显示重定向及 Ajax 请求。
注意:只能在开发过程中使用该 Laravel Debugbar ,使用该扩展包对性能有影响(收集、聚合数据有系统开销)。
该扩展包包含以下自定义收集器:
- QueryCollector:显示所有查询,包含绑定和时间
- RouteCollector:显示当前路由信息
- ViewCollector:显示当前加载的视图(可选:显示共享数据)
- EventsCollector:显示所有事件
- LaravelCollector:显示Laravel版本和环境
- SymfonyRequestCollector:替换 RequestCollector,显示关于请求/响应的更多信息
- LogsCollector:显示来自日志文件的最新日志条目
- FilesCollector:显示 PHP include/require 的文件
- ConfigCollector:显示配置文件配置值
Laravel启动时包含的收集器:
- LogCollector:显示所有日志信息
- 为邮件提供的 SwiftMailCollector 和 SwiftLogCollector
以及以下默认收集器:
- PhpInfoCollector
- MessageCollector
- TimeDataCollector(包含启动及应用时间)
- MemoryCollector
- ExceptionsCollector
此外还提供了一个门面用于记录消息、时间和异常。
2、安装
使用 Composer 安装该扩展包:
composer require barryvdh/laravel-debugbar
安装完成后,在 config/app.php
中注册服务提供者到 providers
数组。
Laravel 5.x
注册如下服务提供者:
Barryvdh\Debugbar\ServiceProvider::class,
如果你想使用门面,在配置文件 config/app.php
中添加如下门面别名到aliases
数组:
'Debugbar' => Barryvdh\Debugbar\Facade::class,
然后运行如下 Artisan 命令将该扩展包的配置文件拷贝到 config
目录下:
php artisan vendor:publish
如果配置文件中 debug
设置为 true
的话,Debugbar 分析器默认是启用的,如果你想要关闭该分析器,在配置文件 config/debugbar.php
中设置 enabled
为false
即可。在该配置文件中,还可以进行更多配置,这里不一一赘述了。
Lumen
对于 Lumen 而言,在 bootstrap/app.php
中注册服务提供者:
if (env('APP_DEBUG')) {$app->register(Barryvdh\Debugbar\LumenServiceProvider::class); }
要修改默认配置,将配置文件拷贝到 config
目录并做相应修改:
$app->configure('debugbar');
3、使用
现在你可以使用 Debugbar 门面添加 PSR-3 级别消息:
Debugbar::info($object); Debugbar::error('Error!'); Debugbar::warning('Watch out…'); Debugbar::addMessage('Another message', 'mylabel');
还可以设置开始/中止时间:
Debugbar::startMeasure('render','Time for rendering');
Debugbar::stopMeasure('render');
Debugbar::addMeasure('now', LARAVEL_START, microtime(true));
Debugbar::measure('My long operation', function() {// Do something…
});
或者记录异常:
try {throw new Exception('foobar');
} catch (Exception $e) {Debugbar::addException($e);
}
此外还有辅助函数实现上述调用:
// All arguments will be dumped as a debug message
debug($var1, $someString, $intValue, $object);start_measure('render','Time for rendering');
stop_measure('render');
add_measure('now', LARAVEL_START, microtime(true));
measure('My long operation', function() {// Do something…
});
如果你想要添加自己的数据收集器(DataCollector),可以通过容器或门面实现:
Debugbar::addCollector(new DebugBar\DataCollector\MessagesCollector('my_messages'));
或者通过 App 容器:
$debugbar = App::make('debugbar'); $debugbar->addCollector(new DebugBar\DataCollector\MessagesCollector('my_messages'));
默认情况下,Debugbar 被注入到 </body>
之前。如果你想要自己注入 Debugbar,在其配置文件中设置 inject
为 false
然后使用渲染器自己渲染:
$renderer = Debugbar::getJavascriptRenderer();
更多渲染实现请参考: http://phpdebugbar.com/docs/rendering.html
注意:使用自动注入的话将会禁止显示 Request 信息,因为在响应之后才会添加该信息。你可以通过在配置文件中添加 default_request
数据收集器作为替换方案。
如果你想要在运行时开启/关闭 Debugbar,可以通过如下方式:
\Debugbar::enable();
\Debugbar::disable();
Laravel 调试利器 —— Laravel Debugbar 扩展包安装及使用教程(转)相关推荐
- Laravel Debugbar 扩展包安装及使用教程
1.简介 Laravel Debugbar在 Laravel 5 中集成了PHP Debug Bar用于显示调试及错误信息以方便开发.该扩展包包含了一个 ServiceProvider 用于注册调试条 ...
- Laravel 调试利器 Laravel Debugbar 扩展包安装及使用教程
1.简介 Laravel Debugbar 在 Laravel 5 中集成了 PHP Debug Bar ,用于显示调试及错误信息以方便开发.该扩展包包含了一个 ServiceProvider 用于注 ...
- composer php 扩展,正确的Composer扩展包安装方法
下面由composer教程栏目给大家介绍正确的 Composer 扩展包安装方法,希望对需要的朋友有所帮助! 问题说明 我们经常要往现有的项目中添加扩展包,有时候因为文档的错误引导,如下图来自 这个文 ...
- VirtualBox扩展包安装教程(保姆级一步到位)
VirtualBox是一款功能强大的免费虚拟机软件,一般我们安装VirtualBox后要安装扩展增强包,VirtualBox扩展包包含USB2.0和USB3.0控制等支持功能,如果没有装,在使用过程中 ...
- Flask扩展包安装出现错误:Could not find a version that satisfies the requirement ...
Flask扩展包安装出现错误 安装扩展包flask-bootstrap 出现错误,如下: 对pip进行更新 : python -m pip install --upgrade pip
- laravel框架应用和composer扩展包开发
laravel5.5+ laravel官方地址 laravel是目前最流行的php框架,发展势头迅猛,应用非常广泛,有丰富的扩展包可以应付你能想到的各种应用场景,laravel框架思想前卫,跟随时代潮 ...
- laravel学习笔记------使用 Entrust 扩展包在 Laravel 5 中实现 RBAC 权限管理
为什么80%的码农都做不了架构师?>>> Entrust为我们在Laravel中实现基于角色的权限管理(RBAC)提供了简洁灵活的方式. 1.安装 想要在Laravel中使用E ...
- laravel中使用的PDF扩展包——laravel-dompdf和laravel-snappy
这两天项目中需要将HTML页面转换为PDF文件方便打印,我在网上搜了很多资料.先后尝试了laravel-dompdf和laravel-snappy两种扩展包,个人感觉laravel-snappy比较好 ...
- python扩展包安装_python怎么安装扩展包
以安装扩展包SymPy为例: 方式一: 格式:pip install xxx //xxx:包名 示例:pip install SymPy 方式二: 如果有安装Git,也可以使用pip+git的方式安装 ...
最新文章
- 青少年编程竞赛交流群周报(第042周)
- phpstudy2014 php7.0,phpstudy下载_phpStudy下载2014 官方版_php环境集成包 1.0_零度软件园...
- TCP/UDP编程中的问题汇总
- android简单小项目_烤面筋怎么做到年入20万?小成本!大收益!简单易操作的好项目!...
- C++内联(inline)函数
- Pytorch: model.eval(), model.train() 讲解
- Ubuntu 16.04粘贴板增强工具Diodon
- 构建自己的PHP框架--实现Model类(2)
- atitit.seo 发帖关键词以及链接的制作.doc
- JSTL不同版本和EL表达式的关联
- 位图和矢量图转换工具推荐
- 靠卖艺还债:罗永浩的冬天来了!
- Ubuntu 查看IP、网关及DNS
- 用知识图谱解读抑郁症——树洞
- 前后端报文传输加密方案
- 区间DP例题(持续更新)
- python分苹果问题_蓝桥杯--算法提高--VIP--分苹果题目(差分数组)
- 再见,安卓开发权威指南
- ridge regression and lasso analysis-reproduced from csdn
- OD常用断点函数(转载)
热门文章
- 为什么CommonJS和ES6可以混合使用?
- Java8的Stream API使用
- JAVA面向对象第一堂课
- pygal模拟掷骰子
- 【调剂】中国地质大学(北京)地球物理与信息技术学院2023年硕士研究生预调剂公告...
- 利用python的强大函数库,实现波形的小波降噪、带通滤波、时阈分析、FFT波形转换
- iOS版微信6.5.21发布 适配iPhone X
- CF #253 div2
- “淘宝小程序“ 九宫格抽奖功能
- 禾川PLC有什么缺点