为什么我用 Laravel 创建的事件在开头附加了 'App\Events'?

Why does the events I created with Laravel have the 'App\Events' appended in the beginning?

我使用 Laravel 创建了事件,并将其与 Pusher 结合使用。在我的 Pusher 调试控制台上,每次我从我的 Laravel 应用程序触发一个事件时,它显示为 'App\Events\testEvent',而我需要它显示为 'testEvent' 就像它在我使用 Pusher 调试控制台中的工具触发了一个虚拟事件。

https://www.screencast.com/t/cxQ30SZh5x

如何将代码输入我的 Laravel 应用程序,以便它以 'testEvent' 而不是 'App\Events\testEvent' 的形式触发事件?

为了触发事件,我只是在路由文件夹中使用 web.php,如下所示:

Route::get('/testEvent', function() {
  event(new testEvent());
});

它是创建事件 类 的命名空间。查看活动文件的顶部,您会看到 namespace App\Events;

如果不需要命名空间,请将其删除,但为什么需要删除它?我怀疑还有另一个问题。 Laravel events 和 Pusher 合作已经很长时间了。

您可以使用事件 class 上的 broadcastAs 功能自定义广播的事件名称。

参见:https://laravel.com/docs/5.4/broadcasting#broadcast-name

public function broadcastAs()
{
    return 'testEvent';
}