zwfec / laravel-debugbar
Laravel的PHP调试工具集成
Requires
- php: >=5.5.9
- illuminate/support: 5.1.*|5.2.*
- maximebf/debugbar: ~1.11.0
- symfony/finder: ~2.7|~3.0
- dev-master / 2.2.x-dev
- v2.2.2
- v2.2.1
- v2.2.0
- v2.1.3
- v2.1.2
- v2.1.1
- v2.1.0
- v2.0.6
- v2.0.5
- v2.0.4
- v2.0.3
- v2.0.2
- v2.0.1
- v2.0.0
- 1.8.x-dev
- v1.8.7
- v1.8.6
- v1.8.5
- v1.8.4
- v1.8.3
- v1.8.2
- v1.8.1
- v1.8.0
- v1.7.7
- v1.7.6
- v1.7.5
- v1.7.4
- v1.7.3
- v1.7.2
- v1.7.1
- v1.7.0
- v1.6.8
- v1.6.7
- v1.6.6
- v1.6.5
- v1.6.4
- v1.6.3
- v1.6.2
- v1.6.1
- v1.6.0
- v1.5.5
- v1.5.4
- v1.5.3
- v1.5.2
- v1.5.1
- v1.5.0
- v1.4.3
- v1.4.2
- v1.4.1
- v1.4
- v1.3.1
- v1.3
- v1.2.3
- v1.2.2
- v1.2.1
- v1.2
- v1.1.5
- v1.1.4
- v1.1.3
- v1.1.2
- v1.1.1
- v1.1
- v1.0.4
- v1.0.3
- v1.0.2
- v1.0.1
- v1.0
- v0.3.2
- v0.3.1
- v0.3
- v0.2
- v0.1.0
- dev-reset
- dev-revert-353-1.8
- dev-revert-463-master
- dev-revert-350-fix_query_logging_is_off
This package is not auto-updated.
Last update: 2024-09-20 17:42:51 UTC
README
对于Laravel 4,请使用1.8分支!
这是一个用于将PHP Debug Bar集成到Laravel 5的包。它包含一个ServiceProvider来注册调试条并将其附加到输出。您可以通过Laravel发布资产和配置它。它启动了一些收集器以与Laravel协同工作,并实现了一些自定义数据收集器,专门针对Laravel。它配置为显示重定向和(jQuery)Ajax请求。(在下拉菜单中显示)有关更多配置选项,请参阅文档。
注意:仅在开发中使用DebugBar。它可能会减慢应用程序的速度(因为它需要收集数据)。因此,当遇到速度变慢时,尝试禁用一些收集器。
此包包括一些自定义收集器
- QueryCollector:显示所有查询,包括绑定和计时
- RouteCollector:显示当前路由的信息。
- ViewCollector:显示当前加载的视图。(可选:显示共享数据)
- EventsCollector:显示所有事件
- LaravelCollector:显示Laravel版本和环境。(默认禁用)
- SymfonyRequestCollector:用更多关于请求/响应的信息替换RequestCollector
- LogsCollector:显示存储日志的最新条目。(默认禁用)
- FilesCollector:显示PHP包含/所需的文件。(默认禁用)
- ConfigCollector:显示配置文件中的值。(默认禁用)
为Laravel启动以下收集器
- LogCollector:显示所有日志消息
- SwiftMailCollector和SwiftLogCollector用于邮件
以及默认收集器
- PhpInfoCollector
- MessagesCollector
- TimeDataCollector(带有启动和应用计时)
- MemoryCollector
- ExceptionsCollector
它还提供了一个用于轻松记录消息、异常和时间的门面接口
安装
使用Composer安装此包
composer require barryvdh/laravel-debugbar
更新Composer后,将ServiceProvider添加到config/app.php中的providers数组
如果您使用通配符/回退路由,确保在您的App ServiceProviders之前加载Debugbar ServiceProvider。
Laravel 5.x
Barryvdh\Debugbar\ServiceProvider::class,
如果您想使用门面来记录消息,请将此添加到app.php中的门面
'Debugbar' => Barryvdh\Debugbar\Facade::class,
默认情况下,如果app.debug=true,则启用分析器。您可以在配置中覆盖它(debugbar.enabled
)。在config/debugbar.php
中查看更多选项。您还可以设置是否包含/排除供应商文件(FontAwesome,Highlight.js和jQuery)。如果您已经在您的网站上使用它们,请将其设置为false。您还可以通过将其设置为'js'或'css'仅显示js或css供应商。Highlight.js需要css + js,因此将语法高亮设置为true
)
使用发布命令将包配置复制到您的本地配置
php artisan vendor:publish --provider="Barryvdh\Debugbar\ServiceProvider"
Lumen
对于Lumen,在bootstrap/app.php中注册不同的Provider
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::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… });
如果您愿意,可以通过容器或门面添加您自己的数据收集器
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'));
默认情况下,Debugbar是在
</body>
之前注入的。如果您想自己注入Debugbar,请将配置选项'inject'设置为false,并使用自己的渲染器,并遵循http://phpdebugbar.com/docs/rendering.html
$renderer = Debugbar::getJavascriptRenderer();
注意:如果不使用自动注入,将禁用请求信息,因为那是添加在响应之后的。您可以在配置中添加默认的_request数据收集器作为替代。
运行时启用/禁用
您可以在运行时启用或禁用debugbar。
\Debugbar::enable(); \Debugbar::disable();
注意。一旦启用,收集器就会被添加(并可能产生额外开销),因此如果您想在生产环境中使用debugbar,请在配置中禁用,并且只在需要时启用。
Twig集成
Laravel Debugbar附带两个Twig扩展。这些扩展与rcrowe/TwigBridge 0.6.x进行了测试。
将以下扩展添加到您的TwigBridge配置文件中的extensions.php(或手动注册扩展)
'Barryvdh\Debugbar\Twig\Extension\Debug', 'Barryvdh\Debugbar\Twig\Extension\Dump', 'Barryvdh\Debugbar\Twig\Extension\Stopwatch',
Dump扩展将替换dump函数,使用DataFormatter输出变量。Debug扩展添加了一个debug()
函数,该函数将变量传递给消息收集器,而不是直接在模板中显示它。它将参数倾倒出来,如果没有参数;所有上下文变量。
{{ debug() }} {{ debug(user, categories) }}
Stopwatch扩展添加了一个类似stopwatch标签,类似于Symfony/Silex Twigbridge中的标签。
{% stopwatch "foo" %} …some things that gets timed {% endstopwatch %}