一、正常安装
composer require barryvdh/laravel-debugbar --dev
Barryvdh\Debugbar\ServiceProvider::class
保存,刷新页面,页面下方就看到debug调试信息了
debugbar 相关配置:
https://github.com/barryvdh/laravel-debugbar
二、安装常见问题
composer.json 已存在
"barryvdh/laravel-debugbar": "^3.1",
composer.lock 已存在
"packages-dev": [
{
"name": "barryvdh/laravel-debugbar",
"version": "v3.1.0",
....
{
"name": "maximebf/debugbar",
"version": "v1.14.1",
...
响应包也已存在
但是debugbar 在浏览期中并没有加载出来
解决过程:
使用命令安装
composer require barryvdh/laravel-debugbar --dev -vvv
报错
installation request for maximebf/debugbar (locked at v1.14.1)
解决办法:
指定版本安装
composer update barryvdh/laravel-debugbar:3.2.1
下方这个命令是否有效? 没有验证,建议可以尝试下。 如果有答案,可以评论中回复。
composer update barryvdh/laravel-debugbar:3.2.1
正常安装完后,默认debugbar 是开启的。
控制开关在 .env 配置文件中的 APP_DEBUG ;true 开启,false 关闭
APP_DEBUG=true
但是这是全局控制的。
三、如果不希望debugbar 自动显示。
在 config/app.php 中更改:
providers 数组中添加
Barryvdh\Debugbar\ServiceProvider::class
如果希望使用facade, 在 facades 数组中添加:
'Debugbar' => Barryvdh\Debugbar\Facade::class
facade 的作用:
laravel5创建一个facade,可以将某个service注册个门面,这样,使用的时候就不需要麻烦地use 了。
四、实现按需加载
想要实现按需加载,操作如下:
执行下方命令,会在config 中生成 debugBar 文件。
php artisan vendor:publish --provider="Barryvdh\Debugbar\ServiceProvider"
debugBar 文件中,可以设置开关 覆盖掉全局开关(ENV.APP_DEBUG)
在 env文件更改,实现局部控制。
# 关闭全局
APP_DEBUG=false
# 开启局部
DEBUGBAR_ENABLED=true
使用场景:
1.按开发环境显示:
/app/Providers/AppServiceProvider.php 中添加代码
public function register()
{
# 开发环境加载
if($this->app->environment() == 'local'){
$this->app->register(\Barryvdh\Debugbar\ServiceProvider::class);
$this->app->register(\Barryvdh\Debugbar\Facade::class);
}
}
\Debugbar::disable();
3.路由控制显示。
使用 if 进行路由判断即可。
其他使用,同理。