Laravel 4.1.* issue registering events in service provider -
i trying register events service provider keep getting reflection class error. have searched , not find solution, perhaps issue core.
// appserviceprovider.php <?php namespace app; use illuminate\support\serviceprovider; use app\events\usereventhandler; class appserviceprovider extends serviceprovider { public function register() { // events $this->app->events->subscribe(new usereventhandler); } } // usereventhandler.php <?php namespace app\events; class usereventhandler { /** * handle user login events. */ public function onuserlogin($event) { echo 'subscriber logged in'; exit; } /** * register listeners subscriber. * * @param illuminate\events\dispatcher $events * @return array */ public function subscribe($events) { $events->listen('auth.login', 'usereventhandler@onuserlogin'); } } $this->app->events->subscribe(new usereventhandler); firing fine, because can reach subscribe method, $events->listen('auth.login', 'usereventhandler@onuserlogin'); returning exception class usereventhandler not exist
i have tried same code on global.php , works fine, problem lies on serviceprovider, have tried both methods register() , boot() , same error.
[updated]
i have found need specify full namespace when listening event.
public function subscribe($events) { $events->listen('auth.login', 'app\events\usereventhandler@onuserlogin'); }
you need declare full path class if in different directory service provider.
Comments
Post a Comment