【转】http://www.tuicool.com/articles/qYfmmur

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的更多相关文章

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

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

  2. Laravel自学第一课:laravel下载与安装

    本地安装laravel,php环境要配置好,推荐xmapp一键搭建. 1.程序包直接从官方下载,官方开源地址:https://github.com/laravel/laravel(当然也可从此网站:h ...

  3. Laravel Homestead安装教程

    1/先在https://www.vagrantup.com  下载vagrantup ,对应平台下载,并安装,安装后可以在命令行使用vagrant https://www.vagrantup.com/ ...

  4. Laravel教程:laravel 4安装及入门

    一.安装Composer首先你需要安装Composer,Composer是PHP依赖管理工具,Laravel框架就是使用 Composer 执行安装和依赖管理. 注:(1)若安装Composer出错, ...

  5. laravel多种安装方法

    首先请确保环境为 PHP >= 5.5.9 OpenSSL PHP 扩展 PDO PHP 扩展 Mbstring PHP 扩展 Tokenizer PHP 扩展 方法一: 直接下载安装好的lar ...

  6. Centos 7 安装composer和Laravel

    composer安装 我安装了lnmp到Centos7里,所以可以直接运行curl -sS https://getcomposer.org/installer | php把安装的composer.ph ...

  7. laravel composer 安装指定版本以及基本的配置

    1 安装指定的 laravel版本 以下的案例是安装5.2版本 composer create-project laravel/laravel=5.2.* --prefer-dist 2 配置 优化相 ...

  8. mac系统下安装Composer和laravel

    先手动下载Composer 地址:https://getcomposer.org/composer.phar 下载后mv composer.phar /usr/local/bin/composer 这 ...

  9. 简简单单搞掂恼人的Laravel 5安装

    想折腾下Laravel 5了.Laravel是这世界上最好且没有之一的语言──PHP──的众多框架中的一个,是我比较感兴趣的PHP Web Framework. 但是安装Laravel可不是件容易的事 ...

随机推荐

  1. cordova使用cordova-plugin-baidumaplocation插件获取定位

    原文:cordova使用cordova-plugin-baidumaplocation插件获取定位 版权声明:本文为博主原创文章,未经博主允许不得转载. https://blog.csdn.net/m ...

  2. 抛砖引玉 【镜像控件】 WPF实现毛玻璃控件不要太简单

    原文:抛砖引玉 [镜像控件] WPF实现毛玻璃控件不要太简单 版权声明:本文为博主原创文章,未经博主允许不得转载. https://blog.csdn.net/Vblegend_2013/articl ...

  3. Codeforces Round #248 (Div. 2) B称号 【数据结构:树状数组】

    主题链接:http://codeforces.com/contest/433/problem/B 题目大意:给n(1 ≤ n ≤ 105)个数据(1 ≤ vi ≤ 109),当中有m(1 ≤ m ≤  ...

  4. 我所理解的设计模式(C++实现)——观察者模式(Observer Pattern)

    概述: 近期中国股市起起伏伏,当然了起伏就用商机,小明发现商机后果断想入市,买入了中国证券,他想在电脑client上,网页上,手机上,iPad上都能够查看到该证券的实时行情,这样的情况下我们应该怎么设 ...

  5. poj 2763 Housewife Wind(树链拆分)

    id=2763" target="_blank" style="">题目链接:poj 2763 Housewife Wind 题目大意:给定一棵 ...

  6. react项目实践——(2)webpack-dev-serve

    webpack-dev-server是一个小型的静态文件服务器,为webpack打包的资源文件提供Web服务.并且提供自动刷新和Hot Module Replacement(模块热替换:前端代码变动后 ...

  7. intel dpdk IPv4 Fragmentation Sample Application 测试

    在上一篇文章中testpmd根据该方案已经在的情况下试验成功,来examples/ipvr_frag夹. 确认环境变量RTE_SDK.RTE_TARGET行.跑make. 一.一个逻辑核(lcore) ...

  8. WPF路由

    举例:窗口-用户控件-布局控件-…-按钮 按钮的点击事件:先由按钮的Click相应,然后….,然后布局控件,然后用户控件,然后窗口类似异常,直到“处理完成”(实际上一般按钮自己处理即可) 路由事件   ...

  9. ASP FirstWeb

    //html <!DOCTYPE html> <html><head><meta http-equiv="Content-Type" co ...

  10. 【全面解禁!真正的Expression Blend实战开发技巧】第三章 从最常用ButtonStyle开始 - TextButton

    原文:[全面解禁!真正的Expression Blend实战开发技巧]第三章 从最常用ButtonStyle开始 - TextButton 在实际项目中,使用blend做的最多的一定是各种自定义But ...