我有一个Lumen控制器类,可以在创建用户时触发事件.我正在使用事件调度程序.该事件应该被触发,但是侦听器不处理该事件.我确信我已经遵循了Lumen文档的每一步.
// UserController.php
class UserController extends ApiController
{
protected $event = null;
public function __construct(Dispatcher $event)
{
$this->event = $event;
}
/**
* Store a newly created resource in storage.
*
* @param Request $request
* @return Response
*/
public function store(Request $request)
{
$this->acceptContentType($request, 'json');
$this->input = $request->json()->all();
$this->withEncryptedParameters();
$this->validateParameterNames(array_keys($this->validationRules));
$this->validateParameterContent($this->validationRules);
$roles = $this->getRelationInput('roles');
$user = User::create($this->input);
$this->addRelation($user, $roles, Role::class, 'roles');
$this->event->fire(new UserCreated($user));
return $this->respondCreated($user->id);
}
}
Run Code Online (Sandbox Code Playgroud)
所以我基本上想要将用户存储到数据库中并在发生这种情况时触发事件.
// UserCreated.php
class UserCreated extends Event
{
public $user;
public function …Run Code Online (Sandbox Code Playgroud)