Laravel框架开发调试工具Laravel Debugbar使用

说明 laravel-debugbar 用于直观的显示调试及错误信息,提高开发效率。 完整的高质量扩展包推荐列表,请前往:下载量最高 100 个 Larave
说明 laravel-debugbar 用于直观的显示调试及错误信息,提高开发效率。

完整的高质量扩展包推荐列表,请前往:下载量最高 100 个 Laravel 扩展包推荐

文章概览
  • 安装;
  • 高级用法。
  • 接下来是详细解说。

    安装 1). 使用 Composer 安装该扩展包:

    composer require barryvdh/laravel-debugbar
    2). 安装完成后,修改 config/app.php 在 providers 数组内追加 Debugbar 的 Provider

    'providers' => [...Barryvdh\Debugbar\ServiceProvider::class,
    ],
    同时在 aliases 数组内追加如下内容

    'aliases' => [...'Debugbar' => Barryvdh\Debugbar\Facade::class,
    ]
    3). 接下来运行以下命令生成此扩展包的配置文件 config/debugbar.php:

    php artisan vendor:publish --provider="Barryvdh\Debugbar\ServiceProvider"
    打开 config/debugbar.php,将 enabled 的值设置为:

    'enabled' => env('APP_DEBUG', false),
    修改完以后, Debugbar 分析器的启动状态将由 .env文件中 APP_DEBUG 值决定。

    页面刷新后, 看到下图即表示运行成功。

    76ee0c9278f9c301a8b3ebd8f2850869.png

    到此, 此拓展包即安装成功 :beers::beers::beers:

    高级用法 上文只是教大家如何最快速的配置 debugbar(实际上对于一般的项目来说, 基本配置已经够用了),更多的用法和代码实现细节请移步 官方文档 参考。

    下文转自:https://www.cnblogs.com/xiaoqian1993/p/6425866.html

    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 被注入到  之前。如果你想要自己注入 Debugbar,在其配置文件中设置 inject 为 false 然后使用渲染器自己渲染:

    $renderer = Debugbar::getJavascriptRenderer();

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

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

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

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

     


    本项目由 The EST Group 成员 @monkey 整理发布,首发地为 Laravel China 社区,转载必须贴上原文链接 https://laravel-china.org/topics/2531