Skip to content

Instantly share code, notes, and snippets.

@dgafka
Last active August 8, 2021 05:34
Show Gist options
  • Save dgafka/d8b657e9b5a1c543b483b8a6df425b9a to your computer and use it in GitHub Desktop.
Save dgafka/d8b657e9b5a1c543b483b8a6df425b9a to your computer and use it in GitHub Desktop.
handlings-events-php-00
<?php
class PersonRegistrationService
{
public function __construct(private UserRepository $userRepository, private EmailSender $emailSender, private LogRepository $logRepository, private ExternalIntegratedService $externalService) {}
public function registerUser($registerPersonData)
{
$person = new Person($registerPersonData);
$this->userRepository->save($person);
$emailTemplate = new EmailTemplate($person);
$this->emailSender->send($emailTemplate);
$log = new Log("person_was_registered", $person->getPersonId());
$this->logRepository->store($log);
$this->externalService->synchronizeUser($person);
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment