如果Event Listener类在命名空间中,如何定义事件侦听器

When defining a Event Listener in a Class and if the Class happens to be in a namespace, how should I defined the listener using the Event::listen method?

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

Event::listen('myapp.createuser','MyApp\Events\MyEventClass@onUserCreated'); throws the following error

Class MyApp\Events\MyEventClass does not exist

You need to ensure that your namespace is actually being loaded. Aka, somewhere in your composer.json file - are you telling composer/laravel where this namespace resides? If not, that's your first step. You usually need to add it to the psr-0 location, like so:

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

This tells laravel/composer that your code for the namespace "MyApp" is found at src/MyApp (with your Events folder being a logical extension of that).