Du kan inte välja fler än 25 ämnen Ämnen måste starta med en bokstav eller siffra, kan innehålla bindestreck ('-') och vara max 35 tecken långa.

48 lines
1.2KB

  1. <?php
  2. namespace common\logic\Document\Invoice\Module;
  3. use common\logic\Document\Document\Module\DocumentModule;
  4. use common\logic\Document\Invoice\Repository\InvoiceRepository;
  5. use common\logic\Document\Invoice\Service\InvoiceBuilder;
  6. use common\logic\Document\Invoice\Service\InvoiceDefinition;
  7. use common\logic\Document\Invoice\Service\InvoiceSolver;
  8. /**
  9. * @mixin InvoiceDefinition
  10. * @mixin InvoiceSolver
  11. * @mixin InvoiceRepository
  12. * @mixin InvoiceBuilder
  13. */
  14. class InvoiceModule extends DocumentModule
  15. {
  16. public function getServices(): array
  17. {
  18. return [
  19. InvoiceDefinition::class,
  20. InvoiceSolver::class,
  21. InvoiceRepository::class,
  22. InvoiceBuilder::class,
  23. ];
  24. }
  25. public function getDefinition(): InvoiceDefinition
  26. {
  27. return InvoiceDefinition::getInstance();
  28. }
  29. public function getSolver(): InvoiceSolver
  30. {
  31. return InvoiceSolver::getInstance();
  32. }
  33. public function getRepository(): InvoiceRepository
  34. {
  35. return InvoiceRepository::getInstance();
  36. }
  37. public function getBuilder(): InvoiceBuilder
  38. {
  39. return InvoiceBuilder::getInstance();
  40. }
  41. }