这是将PHP调试栏与Laravel集成的软件包。它包括一个ServiceProvider,用于注册Debugbar并将其连接到输出。您可以发布资产并通过Laravel进行配置。它引导一些收藏家与Laravel合作,并实施了一些定制数据收录机,该数据汇编特征特有的Laravel。它配置为显示重定向和(jQuery)Ajax请求。 (在下拉列表中显示)阅读文档以获取更多配置选项。

警告
仅在开发中使用debugbar。请勿在可公开访问的网站上使用debugbar,因为它将从存储的请求(按设计)中泄漏信息。
警告
它也可以减慢应用程序的速度(因为它必须收集并渲染数据)。因此,在经历缓慢的时,请尝试禁用一些收藏家。
此软件包包括一些自定义收藏家:
引导以下收藏家为拉拉维尔(Laravel):
和默认收藏家:
它还提供了一个立面界面( Debugbar ),可轻松记录消息,例外和时间
需要此包装与作曲家。建议仅需要开发包。
composer require barryvdh/laravel-debugbar --devLaravel使用软件包自动发现,因此不需要您手动添加ServiceProvider。
当APP_DEBUG为true时,将启用debugbar。
如果您使用全方位/后备路线,请确保在自己的App ServiceProviders之前加载Debugbar ServiceProvider。
如果您不使用自动发现,请将ServiceProvider添加到提供商列表中。对于Laravel 11或较新的,请在Bootstrap/Provider.php中添加ServiceProvider。对于Laravel 10或以上,请在config/app.php中添加ServiceProvider。
Barryvdh Debugbar ServiceProvider::class,如果要使用立面来记录消息,请将其添加到app/Providers/AppServiceProvider.php类的register方法中:
public function register (): void
{
$ loader = Illuminate Foundation AliasLoader:: getInstance ();
$ loader -> alias ( ' Debugbar ' , Barryvdh Debugbar Facades Debugbar::class);
}如果您有app_debug = true,则默认情况下启用了profiler。您可以在config( debugbar.enabled )中覆盖,或通过在.env中设置DEBUGBAR_ENABLED 。如果要包含/排除供应商文件(fontawesome,firtlight.js和jquery),请参见config/debugbar.php中的更多选项。如果您已经在网站中使用它们,请将其设置为false。您也只能通过将其设置为“ JS”或“ CSS”来显示JS或CSS供应商。 true亮点。
php artisan vendor:publish --provider= " BarryvdhDebugbarServiceProvider "确保将laraveldebugbar添加到config/octane.php中的齐平列表中。
' flush ' => [
Barryvdh Debugbar LaravelDebugbar::class,
],对于Lumen,在bootstrap/app.php中注册另一个提供商:
if ( env ( ' APP_DEBUG ' )) {
$ app -> register ( Barryvdh Debugbar LumenServiceProvider::class);
}要更改配置,请将文件复制到您的配置文件夹并启用:
$ app -> configure ( ' 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:: addThrowable ( $ e );
}最常见的调用也有辅助功能:
// All arguments will be dumped as a debug message
debug ( $ var1 , $ someString , $ intValue , $ object );
// `$collection->debug()` will return the collection and dump it as a debug message. Like `$collection->dump()`
collect ([ $ var1 , $ someString ])-> debug ();
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>之前注入了debugbar。如果您想自己注入debugbar,请将配置选项“注入”设置为false,然后自己使用渲染器,然后关注http://phpdebugbar.com/docs/rendering.html
$ renderer = Debugbar:: getJavascriptRenderer ();注意:不使用自动注射,将禁用请求信息,因为在响应后添加了请求信息。您可以在配置中添加default_request datacollector作为替代方案。
您可以在运行时间内启用或禁用Debugbar。
Debugbar:: enable ();
Debugbar:: disable ();NB。启用后,添加了收集器(并且可能会产生额外的开销),因此,如果您想在生产中使用debugbar,请在配置中禁用,并且仅在需要时启用。
Debugbar记得以前的请求,您可以使用右侧的浏览按钮查看。仅当您在配置中启用debugbar.storage.open时,这才能正常工作。确保您仅在本地开发方面执行此操作,因为其他人将能够查看以前的请求。通常,Debugbar仅应在本地或至少受到IP限制。可以通过回调,该回调将接收请求对象,因此您可以确定访问OpenHandler存储。
Laravel Debugbar带有两个树枝扩展。这些用Rcrowe/Twigbridge测试0.6.x
将以下扩展名添加到您的twigbridge config/Extensions.php(或手动注册扩展程序)
' BarryvdhDebugbarTwigExtensionDebug ' ,
' BarryvdhDebugbarTwigExtensionDump ' ,
' BarryvdhDebugbarTwigExtensionStopwatch ' ,转储扩展名将使用DataFormatter替换为输出变量。调试扩展名添加了一个debug()函数,该功能将变量传递给消息收集器,而不是直接在模板中显示。它会倾倒参数,或者是空的;所有上下文变量。
{{ debug() }}
{{ debug( user , categories ) }}秒表扩展名添加了一个秒表标签,类似于Symfony/Silex Twigbridge中的秒表标签。
{% stopwatch " foo " %}
…some things that gets timed
{% endstopwatch %}