Laravel 调试栏消息未显示

dan*_*gel 2 php laravel-5

L5.0

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

我在我的控制器中尝试了以下...

use DebugBar\DebugBar;
....
DebugBar::addMessage('This is a message');
Run Code Online (Sandbox Code Playgroud)

甚至

use DebugBar\DebugBar;
....
DebugBar::info('this is info');
Run Code Online (Sandbox Code Playgroud)

但我收到以下错误。

Call to undefined method DebugBar\DebugBar::info()
Run Code Online (Sandbox Code Playgroud)

我的 app.php 有以下内容。

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


'aliases' => [ 
....
'DebugBar'  => 'Barryvdh\Debugbar\Facade',
Run Code Online (Sandbox Code Playgroud)

我仍然是 Laravel 的新手,所以不知道接下来要检查哪里。我已经检查了http://phpdebugbar.com/docs/https://github.com/barryvdh/laravel-debugbar上的文档, 但我想我只是错过了一些东西。

tap*_*osh 6

如果你想显示 DebugBar 这个过程:

'providers' => [
    ...
    Barryvdh\Debugbar\ServiceProvider::class,
]
Run Code Online (Sandbox Code Playgroud)

然后

'aliases' => [
    ...
    'DebugBar' => Barryvdh\Debugbar\Facade::class,
]
Run Code Online (Sandbox Code Playgroud)

然后在你的控制器中写

app('debugbar')->error('Watch out..');
Run Code Online (Sandbox Code Playgroud)

现在刷新浏览器然后看到消息享受

  • 不知道为什么,但这对我有用,而不是接受的答案。 (2认同)

bar*_*oos 5

我认为问题在于,您以错误的方式使用了 provider-array。它应该是:

'providers' => [
    ...
    Barryvdh\Debugbar\ServiceProvider::class,
]
Run Code Online (Sandbox Code Playgroud)

在您的config/app.php. 另外,请使用以下内容代替您在上面写的字符串:

'aliases' => [
    ...
    'DebugBar' => Barryvdh\Debugbar\Facade::class,
]
Run Code Online (Sandbox Code Playgroud)

我在干净的 Laravel-5 安装中尝试了您的配置,但没有奏效。这可能与绝对类路径有关。使用上面列出的配置,它工作得很好。

  • 好吧!通过您建议的这些更改,我还必须将 `use DebugBar\DebugBar` 更改为简单的 `use DebugBar`,这使它起作用。感谢马丁威斯的帮助! (3认同)
  • 呃……抱歉,我的代码有错别字。当然,它是 `'DebugBar' => ...` 而不是 `'Debugbar' => ...`。之后,您可以使用 `composer dump-autoload` 更新类路径文件并重新启动开发服务器 `php artisan serve` (2认同)