Laravel Debugbar文档中文翻译

33 篇文章 0 订阅

原文地址 Laravel Debugbar 英文文档

laravel debugbar 安装教程

Laravel Debugbar

Packagist License
Latest Stable Version
Total Downloads

针对3.0版本:需要将APP_DEBUG设置为true

针对小于5.5版本的Laravel,请使用 2.4分支

该包是对Laravel 5的PHP Debug Bar的一个整合.
该包包含一个服务提供者来注册相关服务以及来控制输出.你可通过Laravel设定配置并且发布配置.
该包会随着Laravel开始工作后启动一些常规Collector,以及针对Laravel特别动作启动的Collector来收集数据.
该包被预置成会显示重定向和Jquery的Ajax请求(请在下拉框中显示).
可以观看官方文档查看更多内容.

Screenshot

注意:请仅在开发时使用该包工具.由于该包会采集框架运行中的数据,所以会降低项目运行速度.当然,可以关闭一些Collector来加快框架运行速度.

该调试工具包含一些常规的Collector:

  • QueryCollector:显示全部的sql查询,包含模型的绑定与查询时间
  • RouteCollector:显示当前路由的全部信息.
  • ViewCollector:显示当前加载的视图.(可选值:显示共享数据)
  • EventsCollector:显示所有事件
  • LaravelCollector:显示Laravel版本以及环境信息(默认是关闭)
  • SymfonyRequestCollector:替换RequestCollector,显示请求和响应的更多信息
  • LogsCollector:从缓存中读取最新一次的日志输入(默认是关闭)
  • FilesCollector:显示PHP加载的文件
  • ConfigCollector:显示项目配置文件中的值.(默认是关闭)
  • CacheCollector:显示缓存的内容(默认是关闭)

随着Laravel开始运行,以下Collector开始运行:

  • LogCollector:显示所有的日志信息
  • SwiftMailCollector和SwiftLogCollector 等针对邮件的Collector

以及以下这些默认开启的Collector:

  • PhpInfoCollector
  • MessagesCollector
  • TimeDataCollector (记录项目加载时间和应用运行时间)
  • MemoryCollector
  • ExceptionsCollector

该包还提供了Exceotions和Time的门面来更简单的记录信息.

安装

可以使用composer来安装该包.建议仅安装该包的dev版本.

composer require barryvdh/laravel-debugbar --dev

Laravel 5.5开始实现了类的自动加载,所以不需要你手动将该包注册进服务提供者中.

当你开启APP_DEBUGtrue时,该调试工具包会开启.

如果你设置了针对所有请求作出反应的路由,请确保你在实例化APP服务提供者之前加载该包.

Laravel 5.5+:

如果你不将该包使用composerautoload.php进行自动加载,那么你需要将该类加入到config/app.php中的自动加载类配置中

Barryvdh\Debugbar\ServiceProvider::class,

如果你想使用该包自带的门面,将该门面也一起加入到config/app.php

'Debugbar' => Barryvdh\Debugbar\Facade::class,

如果你将APP_DEBUG设置为true的话,则事件监听则默认开启.你可以重置以上操作,通过设置配置文件中的(debugar.enabled),或者在Laravel的.env中设置DEBUGBAR_ENABLED.更多设置请看config.debugbar.php

如果你想要加载vendor目录下的文件,你也可以在配置文件中进行设置(该文件包含字体文件,高亮js和JQuery).如果你在之前已经使用他们,关闭之前的配置.

你可以将上述文件加载进jscss资源路径中.(Highlight.js需要css和js,所以将语法高亮设置为true).

你可以使用以下命令将包中的配置信息保存进你的本地配置信息中:

php artisan vendor:publish --provider="Barryvdh\Debugbar\ServiceProvider"

Lumen

针对Lumen,需要将该包注册进一个服务提供者bootstrap/app.php

if (env('APP_DEBUG')) {
 $app->register(Barryvdh\Debugbar\LumenServiceProvider::class);
}

为了使配置生效,将配置文件信息复制到配置文件目录下,并且开启它:

$app->configure('debugbar');

用法

你现在可以使用门面来获取系统错误信息.该门面的调用方式符合PSR-3规范(debug, info, notice, warning, error, critical, alert, emergency):

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::addThrowable($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…
});

你可以向服务容器或者门面中注册自定义的消息收集器:

Debugbar::addCollector(new DebugBar\DataCollector\MessagesCollector('my_messages'));
//Or via the App container:
$debugbar = App::make('debugbar');
$debugbar->addCollector(new DebugBar\DataCollector\MessagesCollector('my_messages'));

默认情况下,该调试工具在</body>之前被注入,如果你想自定义注入位置,将配置文件中的inject设置为false,然后在需要位置渲染该提示信息,具体操作可请看http://phpdebugbar.com/docs/rendering.html

$renderer = Debugbar::getJavascriptRenderer();

注意:如果不适用默认的自动注入,则无法获取请求的相关信息,因为请求信息是在响应信息之后被加载的.为了能收集请求信息,你可以在配置文件中进行设置.

开启/关闭调试工具

在运行期间,可以通过以下方式开启或者关闭调试工具:

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

注意:一旦开启,该调试工具中的collector会被加载(造成额外的运行消耗),所以,所以如果你想在生产环境下使用该调试工具,请在配置文件中进行关闭,仅在需要时进行开启.

Twig混合开发

该调试包需要两个Twig扩展.他们使用rcrowe/TwigBridge 0.6.x进行测试.

将下面的拓展添加进TwigBridge config/extensions.php中(或者手动注册以下扩展)

'Barryvdh\Debugbar\Twig\Extension\Debug',
'Barryvdh\Debugbar\Twig\Extension\Dump',
'Barryvdh\Debugbar\Twig\Extension\Stopwatch',

Dump拓展或替换dump函数来控制数据输出.该拓展可以使用debug()函数来传递数据到Message Collector中,而不是直接在模本中进行输出.该函数会输出变量以及该变量的全部内容.

{{ debug() }}
{{ debug(user, categories) }}

Stopwatch扩展会添加一个类似于Symfony/Silex Twigbridge的标签stopwatch tag

{% stopwatch "foo" %}
    …some things that gets timed
{% endstopwatch %}
Laravel 是一个基于 PHP 语言的开源 Web 应用程序框架,它使用 MVC(模型-视图-控制器)架构模式,具有简单、优雅、快速开发的特点。在实训中,我们通过学习 Laravel 框架,深入理解了 MVC 模式,了解了路由、控制器、模型、视图、中间件等 Laravel 框架的核心概念和使用方法。下面我将对实训内容进行总结。 一、Laravel 环境搭建 在实训开始时,我们首先需要搭建 Laravel 开发环境。搭建 Laravel 环境需要安装 PHP、Composer、Nginx 或 Apache 等软件,其中 Composer 是 Laravel 框架的依赖管理工具,可以方便地安装 Laravel 框架和相关扩展包。在搭建 Laravel 环境时,我们还需要配置虚拟主机、数据库等内容。在实训中,我们使用了 Docker 来搭建 Laravel 开发环境,这样可以方便地快速部署环境,避免了环境配置的繁琐。 二、Laravel 基础知识 1. 路由 在 Laravel 中,路由是指将 URL 请求映射到相应的控制器方法上。在 Laravel 中定义路由非常方便,只需要在 routes/web.php 文件中定义即可。在定义路由时,我们可以使用 GET、POST、PUT、DELETE 等 HTTP 方法,并且可以使用参数、中间件等功能。 2. 控制器 控制器是 Laravel 中处理请求的核心部分,它负责接收请求、处理业务逻辑、调用模型、返回响应等。在 Laravel 中,控制器可以使用 Artisan 命令快速生成,生成的控制器包含了基本的 CRUD 操作。 3. 模型 模型是 Laravel 中与数据库交互的部分,它负责查询、插入、更新、删除数据等操作。在 Laravel 中,模型可以使用 Artisan 命令快速生成,并且可以使用 Eloquent ORM(对象关系映射)来操作数据库。 4. 视图 视图是 Laravel 中负责渲染页面的部分,它可以使用 Blade 模板引擎来编写。在 Blade 模板中,我们可以使用变量、控制流语句、循环语句等功能,方便地构建页面。 5. 中间件 中间件是 Laravel 中用于处理请求的过滤器,它可以在请求到达控制器之前或者之后进行一些处理。在 Laravel 中,我们可以使用 Artisan 命令快速生成中间件,并且可以给中间件命名、设置中间件组等。 三、Laravel 扩展包 除了 Laravel 框架本身提供的功能之外,还有很多第三方扩展包可以用于扩展 Laravel 的功能。在实训中,我们学习了一些常用的 Laravel 扩展包。 1. Laravel Debugbar Laravel Debugbar 是一个用于调试 Laravel 应用程序的扩展包,它可以方便地查看应用程序的请求、响应、SQL 查询等信息,帮助我们快速定位问题。 2. Laravel-Excel Laravel-Excel 是一个用于导入和导出 Excel 文件的扩展包,它可以方便地将数据导出为 Excel 文件,并且可以将 Excel 文件导入到数据库中。 3. Laravel Telescope Laravel Telescope 是一个用于监控 Laravel 应用程序的扩展包,它可以方便地查看应用程序的请求、响应、SQL 查询等信息,帮助我们快速定位问题。与 Laravel Debugbar 不同的是,Laravel Telescope 可以将监控数据保存到数据库中,方便长期监控。 四、Laravel 实战项目 在实训的最后,我们完成了一个实战项目:一个简单的博客系统。在博客系统中,我们实现了用户注册、登录、退出、文章发布等功能,并且使用了 Laravel 的认证、授权、邮件等功能。在实现博客系统的过程中,我们深入理解了 Laravel 的各种功能,并且掌握了如何将这些功能应用到实际项目中。 总结 通过本次实训,我深入了解了 Laravel 框架的使用方法和开发流程,掌握了如何使用 Laravel 实现 Web 应用程序的各种功能。在实训中,我们不仅学习了 Laravel 框架本身的知识,还学习了如何使用 Docker 搭建开发环境、如何使用 Git 进行版本控制、如何使用 GitHub 进行协作开发等技术。这些知识对于我今后的开发工作和学习都有很大的帮助。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值