0

在类中定义事件侦听器时,如果该类恰好位于命名空间中,我应该如何使用该Event::listen方法定义侦听器?

namespace MyApp\Events;
class MyEventClass{
        public function onUserCreated(){
              Log::info('Event is fired');
        }
}

Event::listen('myapp.createuser','MyApp\Events\MyEventClass@onUserCreated');引发以下错误

Class MyApp\Events\MyEventClass does not exist

4

1 回答 1

1

您需要确保您的命名空间实际上正在被加载。又名,在你的 composer.json 文件中的某个地方——你是在告诉 composer/laravel 这个命名空间在哪里吗?如果没有,那是你的第一步。您通常需要将其添加到 psr-0 位置,如下所示:

"autoload": {
    "psr-0": {
        "MyApp": "src/"
    }
}

这告诉 laravel/composer 你的命名空间“MyApp”的代码位于 src/MyApp (你的 Events 文件夹是它的逻辑扩展)。

于 2013-08-13T05:52:25.160 回答