0

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

1 Answer 1

1

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).

Sign up to request clarification or add additional context in comments.

Comments

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.