2017-04-19 123 views
1

我试图在每次注册新用户时触发一个事件。对于这个在我EventServiceProvider我加Laravel 5.2活动,在本地工作的听众不生产

protected $listen = [ 
    'App\Events\UserRegistered' => [ 
     'App\Listeners\UserRegisteredListener', 
    ], 
]; 

php artisan event:generate 

这造就了我一个事件UserRegistered和听众UserRegisteredListener。在我UserRegistered我有

public function __construct(User $user) 
{ 
    $this->user = $user; 
} 

和我UserRegisteredListener我有

public function handle(UserRegistered $event) 
{ 
    $user = $event->user; 
    $user->cart()->save(new Cart); 
    $user->wallet()->save(new Wallet); 
} 

我从我的AuthController特质触发事件RegistersUsers

public function register(Request $request) 
{ 
    $validator = $this->validator($request->all()); 

    if ($validator->fails()) { 
     $this->throwValidationException(
      $request, $validator 
     ); 
    } 

    Auth::guard($this->getGuard())->login($this->create($request->all())); 

    Event::fire(new UserRegistered(Auth::user())); 

    return redirect($this->redirectPath()); 
} 

逻辑完全工作罚款localhost,但是当我推它到 产品运行EC2亚马逊linux实例的服务器 事件根本没有被解雇。

回答

0

事件从RegistersUsers.php这是卖方的文件夹(gitignore)的一部分烧成。哪些在本地可用,但不在RegistersUsers.php prod。

将事件触发移至AuthController