Php 不显示Laravel调试栏消息
L5.0 我已经安装了DebugBar,它正在工作并显示在屏幕底部。但我很难弄清楚如何将消息发送到控制台,以显示在“消息”下 我在控制器中尝试了以下操作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
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..');