2016-12-07 9 views
0

私はこれを明確にする前に、この質問を見ました。Laravel 5.2のAuthControllerにイベントを追加する

目標は、誰かがサイトに登録したときにイベントを発生させることです。

Laravelドキュメントに記載されているイベントサービスプロバイダのイベント/リスナーペアを追加しました。

は、それから私は走った:PHP職人コマンド PHPの職人を生成:イベント

それはそのイベントをトリガするときにユーザーがサインアップexample.com/registerで。しかし、それはしません。

何か提案がありますか?

アプリ/ HTTP /コントローラ/認証/ AuthController.php

protected function create(array $data) 
    { 
     return User::create([ 
      'name' => $data['name'], 
      'email' => $data['email'], 
      'password' => bcrypt($data['password']), 
     ]); 
     Event::fire(new NewUserSignUp($data)); 
    } 

全体のファイル:

<?php 

namespace App\Http\Controllers\Auth; 

use App\User; 
use Validator; 
use App\Http\Controllers\Controller; 
use Illuminate\Foundation\Auth\ThrottlesLogins; 
use Illuminate\Foundation\Auth\AuthenticatesAndRegistersUsers; 
use App\Events\NotifyAdminSignUp; 

class AuthController extends Controller 
{ 
    /* 
    |-------------------------------------------------------------------------- 
    | Registration & Login Controller 
    |-------------------------------------------------------------------------- 
    | 
    | This controller handles the registration of new users, as well as the 
    | authentication of existing users. By default, this controller uses 
    | a simple trait to add these behaviors. Why don't you explore it? 
    | 
    */ 

use AuthenticatesAndRegistersUsers, ThrottlesLogins; 

/** 
* Where to redirect users after login/registration. 
* 
* @var string 
*/ 
protected $redirectTo = '/'; 

/** 
* Create a new authentication controller instance. 
* 
* @return void 
*/ 
public function __construct() 
{ 
    $this->middleware($this->guestMiddleware(), ['except' => 'logout']); 
} 

/** 
* Get a validator for an incoming registration request. 
* 
* @param array $data 
* @return \Illuminate\Contracts\Validation\Validator 
*/ 
protected function validator(array $data) 
{ 
    return Validator::make($data, [ 
     'name' => 'required|max:255', 
     'email' => 'required|email|max:255|unique:users', 
     'password' => 'required|min:6|confirmed', 
    ]); 
} 

/** 
* Create a new user instance after a valid registration. 
* 
* @param array $data 
* @return User 
*/ 
protected function create(array $data) 
{ 
    return User::create([ 
     'name' => $data['name'], 
     'email' => $data['email'], 
     'password' => bcrypt($data['password']), 
    ]); 
    Event::fire(new NewUserSignUp($data)); 
} 



} 

答えて

1
protected function create(array $data) 
{ 
    //fire event BEFORE return 
    Event::fire(new NewUserSignUp($data)); 
    return User::create([ 
     'name' => $data['name'], 
     'email' => $data['email'], 
     'password' => bcrypt($data['password']), 
    ]); 
    //because nothing after this line will ever be processed 

} 
関連する問題