【问题标题】:How to define an Event Listener if the Event Listener class is in a namespace如果事件侦听器类在命名空间中,如何定义事件侦听器
【发布时间】:2013-08-13 05:41:57
【问题描述】:

在定义Event Listener in a Class 时,如果该类恰好位于命名空间中,我应该如何使用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

【问题讨论】:

    标签: php events laravel laravel-4


    【解决方案1】:

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

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

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

    【讨论】:

      猜你喜欢
      • 2018-09-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-09-06
      • 2013-06-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多