2016-12-07 3 views
0

Я видел этот вопрос, прежде чем мне просто захотелось помочь в его разъяснении.Добавление события в AuthController в Laravel 5.2

Целью является Провести событие, когда кто-то регистрируется на сайте.

Я добавил пару Event/Listener в провайдера событий, как указано в документации Laravel.

Тогда я побежал: PHP ремесленник команда PHP ремесленник генерации: событие

Когда пользователь подпишется на example.com/register это должно вызвать это событие. Однако это не так.

Любые предложения?

приложение/Http/Контроллеры/Auth/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 

} 
Смежные вопросы