/** * @param Command $command * * @return mixed */ public function handle(Command $command) { $payload = $command->payload(); if ($payload instanceof RegisterUserCommand) { $this->handleRegisterUser($payload); } }
/** * @param Command $command * * @return CommandHandler * * @throws CommandHandlerNotFoundException */ public function findCommandHandlerFor(Command $command) { if (!isset($this->subscriptions[$command->commandName()])) { throw new CommandHandlerNotFoundException(); } return $this->subscriptions[$command->commandName()]; }
/** * @param Command $command * * @return mixed */ public function handle(Command $command) { $payload = $command->payload(); if ($payload instanceof ChangeUserPasswordCommand) { $this->handleChangeUserPassword($payload); } }
/** * @param Command $command * * @return mixed */ public function handle(Command $command) { $payload = $command->payload(); if ($payload instanceof ChangeUsernameCommand) { $this->handleUsernameChange($payload); } }
/** * @param Command $command * * @return CommandHandler * * @throws CommandHandlerNotFoundException */ public function findCommandHandlerFor(Command $command) { if (!isset($this->subscriptions[$command->commandName()])) { throw new CommandHandlerNotFoundException(sprintf('No handler was found for command %s', $command->commandName())); } return $this->subscriptions[$command->commandName()]; }
/** * @param \Exception $cause */ public function onFailure(\Exception $cause) { $this->logger->warning('Command execution failed', ['commandName' => $this->command->commandName(), 'cause' => $cause]); }
public function it_can_find_a_command_handler_for_a_command(Command $command, CommandHandler $handler) { $command->commandName()->willReturn('commandName'); $this->subscribe('commandName', $handler); $this->findCommandHandlerFor($command)->shouldReturn($handler); }
/** * @param Command $command * * @return array */ public function provideAuditDataFor(Command $command) { return $command->metadata()->all(); }
/** * @param Command $command * * @return array */ public function provideAuditDataFor(Command $command) { return ['command_name' => $command->commandName(), 'command_identifier' => $command->identifier()->toString()]; }