/** * @param Event $event * * @return mixed */ public function handle(Event $event) { $payload = $event->payload(); if ($payload instanceof UserRegistered) { $this->handleUserRegistration($payload); } elseif ($payload instanceof ChangedUsername) { $this->handleUsernameChange($payload); } }
/** * @param Event $event * * @return mixed */ public function handle(Event $event) { $payload = $event->payload(); if ($payload instanceof UserRegistered) { $this->insertRegisteredUser($payload); } elseif ($payload instanceof ChangedPassword) { $this->updateUserPassword($payload); } elseif ($payload instanceof ChangedUsername) { $this->updateUsername($payload); } }
/** * Mutate the state of the aggregate by applying the domain event contained into the message. * Synchronize the aggregate version with the one provided by the message. * * @param Event $event */ private final function replayChange(Event $event) { $this->apply($event->payload()); $this->lastCommittedEventSequenceNumber = $event->sequenceNumber(); }
public function it_can_serialize_payload($serializer, Event $event, Serializable $payload) { $event->payload()->shouldBeCalledTimes(1)->willReturn($payload); $serializer->serialize($payload)->shouldBeCalledTimes(1)->willReturn('{}'); $this->serializePayload($event)->shouldReturn('{}'); }
/** * @param Event $event * * @return mixed */ public function serializePayload(Event $event) { return $this->serializer->serialize($event->payload()); }