2016-05-02 10 views
3

Я знаю, что у искры есть события, которые можно прослушать, когда пользователь зарегистрировался, но я совершенно не знаком с laravel и Events, есть примеры, которые я могу использовать для доступа к событиям ? Моя цель - прослушать созданное пользователем событие и отправить приветственное письмо пользователю.Как подключиться к событиям Spark on Register

+0

Привет, если вы не хотите слушать событие, вы можете попробовать '$ user-> save()', а затем ** функцию почты **, чтобы отправить почту, в которой вы можете использовать информацию пользователя, который из только переменная '$ user'. И я думаю, что нет необходимости использовать событие для этого. – Siddharth

+0

Я хочу отправить приветственное письмо зарегистрированному пользователю после его регистрации. что происходит при регистрации его метода register() в auth-контроллере laravel-кода, я хочу перезаписать этот метод, отправляя почту из перезаписанного метода, или если я могу добавить некоторый крючок в искровые события в регистре, и я надеюсь, что я смысл, если какое-либо тело имеет простое решение, пожалуйста, поделитесь. –

ответ

8

Наконец, здесь я придумал решение.

В основном, события вызывают прослушиватели, которые определены в классе EventServiceProvider, который хранится у поставщиков внутри папки приложения приложения.

В EventServiceProvider.php найти

'Laravel\Spark\Events\Auth\UserRegistered' => [ 
       'Laravel\Spark\Listeners\Subscription\CreateTrialEndingNotification', 
     ], 

будет магазин в $ слушать класса EventServiceProvider, это означает, что событие UserRegistered будет вызывать CreateTrialEndingNotification слушателя, так что нам нужно создать listerner и прикрепить здесь, создавая прослушиватель, просто создайте новый файл с именем HookRegisteredUser (или на ваш выбор), что-то вроде песка в приложении/Listeners добавляет его путь в $ listen of «Laravel \ Spark \ Events \ Auth \ UserRegistered»

namespace App\Listeners; 

use Laravel\Spark\Events\Auth\UserRegistered; 
use Illuminate\Queue\InteractsWithQueue; 
use Illuminate\Contracts\Queue\ShouldQueue; 

class HookRegisteredUser 
{ 
    /** 
    * Handle the event. 
    * 
    * @param UserRegistered $event 
    * @return void 
    */ 
    public function handle(UserRegistered $event) 
    { 
     //your code goes here 
    } 
} 

После этого добавьте HookRegisteredUser слушатель в EventServiceProvider.php следующим образом,

'Laravel\Spark\Events\Auth\UserRegistered' => [ 
      'Laravel\Spark\Listeners\Subscription\CreateTrialEndingNotification', 
      'App\Listeners\HookRegisteredUser', 
     ], 

Теперь событие UserRegistered будет вызывать два слушателя CreateTrialEndingNotification то есть, HookRegisteredUser и ручку метода будет выполнено по вызову слушателям и вот это!