Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- <?php
- final class ProduceAccountStatementHandler
- {
- private $accountFinder;
- private $pdfGenerator;
- private $accountTotalCalculator;
- public function __construct(
- AccountFinder $accountFinder,
- PdfGenerator $pdfGenerator,
- AccountTotalCalculator $accountTotalCalculator
- ) {
- $this->accountFinder = $accountFinder;
- $this->pdfGenerator = $pdfGenerator;
- $this->accountTotalCalculator = $accountTotalCalculator;
- }
- public function handle(Command $command): void
- {
- $account = $this->accountFinder->byId($command->accountId());
- $accountTotal = $this->accountTotalCalculator->calculate($account);
- $this->pdfGenerator->generate('account-statement.template', $account, $accountTotal);
- }
- }
- final class ProducePaymentOverdueNoticeHandler
- {
- private $accountFinder;
- private $pdfGenerator;
- private $accountTotalCalculator;
- public function __construct(
- AccountFinder $accountFinder,
- PdfGenerator $pdfGenerator,
- AccountTotalCalculator $accountTotalCalculator
- ) {
- $this->accountFinder = $accountFinder;
- $this->pdfGenerator = $pdfGenerator;
- $this->accountTotalCalculator = $accountTotalCalculator;
- }
- public function handle(Command $command): void
- {
- $account = $this->accountFinder->byId($command->accountId());
- $accountTotal = $this->accountTotalCalculator->calculate($account);
- $this->pdfGenerator->generate('payment-overdue-notice.template', $account, $accountTotal);
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement