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 中设置 enabledfalse 即可。在该配置文件中,还可以进行更多配置,这里不一一赘述了。

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,在其配置文件中设置 injectfalse 然后使用渲染器自己渲染:

$renderer = Debugbar::getJavascriptRenderer();

更多渲染实现请参考: http://phpdebugbar.com/docs/rendering.html

注意:使用自动注入的话将会禁止显示 Request 信息,因为在响应之后才会添加该信息。你可以通过在配置文件中添加 default_request 数据收集器作为替换方案。

如果你想要在运行时开启/关闭 Debugbar,可以通过如下方式:

\Debugbar::enable();
\Debugbar::disable();

转载于:https://www.cnblogs.com/photo520/p/6824186.html

Laravel 调试利器 Laravel Debugbar 扩展包安装及使用教程相关推荐

  1. Laravel 调试利器 —— Laravel Debugbar 扩展包安装及使用教程(转)

    Laravel 调试利器 -- Laravel Debugbar 扩展包安装及使用教程 时间 2015-12-24 09:57:09  Laravel学院 原文  http://laravelacad ...

  2. Laravel Debugbar 扩展包安装及使用教程

    1.简介 Laravel Debugbar在 Laravel 5 中集成了PHP Debug Bar用于显示调试及错误信息以方便开发.该扩展包包含了一个 ServiceProvider 用于注册调试条 ...

  3. composer php 扩展,正确的Composer扩展包安装方法

    下面由composer教程栏目给大家介绍正确的 Composer 扩展包安装方法,希望对需要的朋友有所帮助! 问题说明 我们经常要往现有的项目中添加扩展包,有时候因为文档的错误引导,如下图来自 这个文 ...

  4. VirtualBox扩展包安装教程(保姆级一步到位)

    VirtualBox是一款功能强大的免费虚拟机软件,一般我们安装VirtualBox后要安装扩展增强包,VirtualBox扩展包包含USB2.0和USB3.0控制等支持功能,如果没有装,在使用过程中 ...

  5. Flask扩展包安装出现错误:Could not find a version that satisfies the requirement ...

    Flask扩展包安装出现错误 安装扩展包flask-bootstrap 出现错误,如下: 对pip进行更新 : python -m pip install --upgrade pip

  6. laravel框架应用和composer扩展包开发

    laravel5.5+ laravel官方地址 laravel是目前最流行的php框架,发展势头迅猛,应用非常广泛,有丰富的扩展包可以应付你能想到的各种应用场景,laravel框架思想前卫,跟随时代潮 ...

  7. laravel学习笔记------使用 Entrust 扩展包在 Laravel 5 中实现 RBAC 权限管理

    为什么80%的码农都做不了架构师?>>>    Entrust为我们在Laravel中实现基于角色的权限管理(RBAC)提供了简洁灵活的方式. 1.安装 想要在Laravel中使用E ...

  8. laravel中使用的PDF扩展包——laravel-dompdf和laravel-snappy

    这两天项目中需要将HTML页面转换为PDF文件方便打印,我在网上搜了很多资料.先后尝试了laravel-dompdf和laravel-snappy两种扩展包,个人感觉laravel-snappy比较好 ...

  9. python扩展包安装_python怎么安装扩展包

    以安装扩展包SymPy为例: 方式一: 格式:pip install xxx //xxx:包名 示例:pip install SymPy 方式二: 如果有安装Git,也可以使用pip+git的方式安装 ...

最新文章

  1. C#时间(DateTime)格式化
  2. 《流浪地球》虽好,却存在一个不可回避的硬伤!
  3. redis:RDM连接阿里云redis服务器
  4. 【模板】最新空web.xml模板
  5. 十分钟让你明白Objective-C的语法(和Java、C++的对比)
  6. mysql java 获取周_Java中获取Mysql中datetime类型的数据
  7. python教程简书_python基础教程
  8. ES6+webpack实现Counter
  9. Flutter AppBar控件
  10. Litjson快速入门
  11. spotfire中文使用教程含演示数据以及二次开发思路整理
  12. 关于程序员的调查报告
  13. Ensp实验随心记——帧中继
  14. 未注册域名批量查询工具
  15. 周总结2022.1.10-2022.1.16
  16. 获取IPhone相册中图片的方法(ASSets)
  17. python实现erp自动化_用轻流,实现ERP的自动化工作流程
  18. new HashMap(list.size())指定size就能完全避免扩容带来的额外开销了吗?
  19. EigenGame:将主成份分析(PCA)作为一个博弈游戏
  20. Linux下实现Mysql的本地备份,异地备份

热门文章

  1. 灵眸action_DJI OSMO Action 灵眸运动相机
  2. 判断是否为数组的 JavaScript 方法总结
  3. 你知道关闭页面时怎么向后台发送消息吗?
  4. JavaScript基础知识(二)
  5. 树莓派7寸触屏,略贵
  6. [草稿]尝试从 same.com 的视角观察简书的用户社交网络
  7. java中输出进程的映像名称,怎么修改tomcat进程的名称(windows)
  8. 全球11大免费GIS数据源在此,速速来取!
  9. 手机格斗网游该如何避免延迟
  10. Windows上配置iPhone开发环境