使用 Laravel Debugbar 调试你的应用程序
发布时间 作者: Eric L. Barnes
Laravel Debugbar 由 Barry vd. Heuvel 开发,这是一个让你在开发过程中快速轻松地监控应用程序的包。通过简单的安装和强大的功能,Debugbar 包 成为 Laravel 的基础包之一。
Debugbar 已经更新到支持 Laravel 5,我想向大家展示它包含的所有很棒的功能。
安装 Laravel Debugbar
安装非常简单。我花了不到五分钟就完成了安装,其中四分钟是在等待 Composer。以下是安装步骤:
在你的 Laravel 5 项目中,使用以下命令安装包
composer require barryvdh/laravel-debugbar
接下来,打开 config/app.php 文件,并在 'providers' 数组中添加以下内容:
'BarryvdhDebugbarServiceProvider',
最后,如果你想添加 Facade,请在 'aliases' 数组中添加以下内容:
'Debugbar' => 'BarryvdhDebugbarFacade',
现在,只要你的应用程序处于调试模式,Debugbar 就会自动加载,显示有关你正在查看的页面的一些有用统计信息。
了解 Debugbar
你可以在几分钟内掌握 Debugbar 的用户界面,它非常强大。让我们看看它包含的所有默认设置:
消息
消息是一个特殊的区域,只有通过在你的代码中调用 Facade 才能加载它。
Debugbar::info($object);Debugbar::error('Error!');Debugbar::warning('Watch out…');Debugbar::addMessage('Another message', 'mylabel');
消息包括 PSR-3 级别(debug、info、notice、warning、error、critical、alert、emergency)。
时间线
时间线非常适合找出代码中的瓶颈。以下是一些可用的示例:
Debugbar::startMeasure('render','Time for rendering');Debugbar::stopMeasure('render');Debugbar::addMeasure('now', LARAVEL_START, microtime(true));Debugbar::measure('My long operation', function() {// Do something…});
异常
下一个选项卡是异常日志记录器。你可以使用以下代码将异常记录到 Debugbar 中:
try { throw new Exception('foobar');} catch (Exception $e) { Debugbar::addException($e);}
视图
视图将显示所有渲染的模板,以及传递给它们的全部参数。这在你拥有众多视图的大型应用程序中非常有用。借助它,你可以确保只发送视图实际需要的數據,以及许多其他用例。
路由
神奇地查看与正在调用的路由相关的所有内容。URI、控制器、文件路径和命名空间。
查询
查询是许多应用程序的重要组成部分。我见过一些应用程序没有使用 eager loading,导致了大量查询。
举个现实世界的例子,我曾经负责为一个电子商务系统构建一个类似后台管理的报表。我能够使用种子数据在我的开发机器上构建报表,但一旦我使用了真实数据,页面加载需要 20 多秒。浏览 Debugbar 中的查询选项卡,我找到了问题的根源。
邮件和请求
这两个选项卡包含有关发送的电子邮件和当前请求的所有必要信息。
文件夹图标
我不确定它的真实名称,但点击文件夹图标可以查看所有先前的请求。这在执行 AJAX 调用时非常有用,因为你可以获取有关实际请求的更多信息。
更进一步
在这篇文章中,我只概述了 Laravel Debugbar 的基本功能。它在底层还有更多功能,包括 Twig 集成、运行时启用/禁用以及桥接收集器。如果你想了解更多,文档 详细介绍了许多底层代码。
我强烈推荐这个包。