Skip to content

Instantly share code, notes, and snippets.

@dgafka
Last active August 7, 2021 16:19
Show Gist options
  • Save dgafka/29b28803ed73a4343498af74d74daf21 to your computer and use it in GitHub Desktop.
Save dgafka/29b28803ed73a4343498af74d74daf21 to your computer and use it in GitHub Desktop.
handlings-events-php-02
<?php
class PersonRegistrationEventSubscriber
{
#[EventHandler]
public function sendWelcomeEmail(PersonWasRegistered $event, EmailSender $emailSender): void
{
$person = $this->userRepository->getById($event->getPersonId());
$emailSender->sendWelcomeTo($person);
}
#[EventHandler]
public function storeLog(PersonWasRegistered $event, LogRepository $logRepository): void
{
$log = new Log("person_was_registered", $event->getPersonId());
$logRepository->store($log);
}
#[EventHandler]
public function synchronizeExternalService(PersonWasRegistered $event, ExternalIntegratedService $externalService): void
{
$person = $this->userRepository->getById($event->getPersonId());
$externalService->synchronizeUser($person);
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment