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/"
    }
}

これは、名前空間「MyApp」のコードが src/MyApp にあることをlaravel/composerに伝えます(Eventsフォルダーはその論理的な拡張です)。

于 2013-08-13T05:52:25.160 に答える