Php 不显示Laravel调试栏消息

Php 不显示Laravel调试栏消息,php,laravel-5,Php,Laravel 5,L5.0 我已经安装了DebugBar,它正在工作并显示在屏幕底部。但我很难弄清楚如何将消息发送到控制台,以显示在“消息”下 我在控制器中尝试了以下操作 use DebugBar\DebugBar; .... DebugBar::addMessage('This is a message'); 甚至 use DebugBar\DebugBar; .... DebugBar::info('this is info'); 但我得到了以下错误 Call to undefined method De

L5.0

我已经安装了DebugBar,它正在工作并显示在屏幕底部。但我很难弄清楚如何将消息发送到控制台,以显示在“消息”下

我在控制器中尝试了以下操作

use DebugBar\DebugBar;
....
DebugBar::addMessage('This is a message');
甚至

use DebugBar\DebugBar;
....
DebugBar::info('this is info');
但我得到了以下错误

Call to undefined method DebugBar\DebugBar::info()
我的app.php有以下内容

'providers' => [
.....
'Barryvdh\Debugbar\ServiceProvider',
....


'aliases' => [ 
....
'DebugBar'  => 'Barryvdh\Debugbar\Facade',

我还是个新手,所以不知道下一步该去哪里。我已经检查了两个和的文档,但我认为我只是缺少了一些东西。

我认为问题在于,您使用提供程序数组的方式错误。应该是:

'providers' => [
    ...
    Barryvdh\Debugbar\ServiceProvider::class,
]
在您的
config/app.php
中。此外,请使用以下字符串,而不是您上面编写的字符串:

'aliases' => [
    ...
    'DebugBar' => Barryvdh\Debugbar\Facade::class,
]

我在一个干净的Laravel-5安装上尝试了你的配置,但没有成功。这可能是绝对类路径带来的。使用上面列出的配置,它工作得非常好。

如果要显示调试栏此过程:

'providers' => [
    ...
    Barryvdh\Debugbar\ServiceProvider::class,
]
然后

然后在控制器中写入

app('debugbar')->error('Watch out..');

现在刷新浏览器,然后查看消息“享受”

同时确保
Barryvdh\Debugbar\ServiceProvider::class
,位于提供者列表的第一位。

对于我来说,IDE建议的自动注入
Debugbar\Debugbar
并没有自动工作,但出现了此错误。将其更改为
Barryvdh\Debugbar\Facade作为Debugbar
解决了问题。似乎在默认的Laravel配置中安装了一个名为“DebugBar”的完全不同的包

因此,如果在文件开头看到:

使用DebugBar\DebugBar;
将其更改为:

使用Barryvdh\Debugbar\Facade作为调试栏;

此外,如果注册为facade,则始终可以使用
\DebugBar::addMessage('这是一条消息')等,而不首先注入它,正如您告诉Laravel如何解析该类。这样你就不必先
使用它了。

Debugbar vs Debugbar可能是吗?我在发布这篇文章后试过了,没有变化。我将继续进行编辑。在使用名称
Debugbar
(而不是
Debugbar
)定义您的服务提供商和facade之后,只需使用
\Debugbar
。我复制\粘贴了上面的内容,使用
Debugbar::info('this is info');
仍在调用未定义的方法Debugbar\Debugbar::info()
我将稍后尝试干净地安装5.1…抱歉,我的代码中有一个输入错误。当然是
'DebugBar'=>…
而不是
'DebugBar'=>…
。之后,您可以使用
composer dump autoload
更新类路径文件,并重新启动开发服务器
php artisan serve
好的!使用这些工具根据你的建议,我还必须将
使用DebugBar\DebugBar
更改为简单地
使用DebugBar
,这使它起了作用。感谢martinweise的帮助!不知道为什么,但这对我来说很有效,而不是公认的答案。
app('debugbar')->error('Watch out..');