92 lines
2.7KB

  1. <?php
  2. namespace Lc\ShopBundle\Services ;
  3. use Lc\ShopBundle\Context\DeliveryUtilsInterface;
  4. use Lc\ShopBundle\Context\MerchantUtilsInterface;
  5. use Lc\ShopBundle\Context\OrderUtilsInterface;
  6. use Lc\ShopBundle\Context\PriceUtilsInterface;
  7. use Lc\ShopBundle\Context\ProductFamilyUtilsInterface;
  8. class UtilsManager
  9. {
  10. protected $utils ;
  11. protected $userUtils ;
  12. protected $merchantUtils ;
  13. protected $productFamilyUtils ;
  14. protected $orderUtils ;
  15. protected $priceUtils ;
  16. protected $deliveryUtils ;
  17. protected $creditUtils ;
  18. protected $documentUtils ;
  19. public function __construct(
  20. Utils $utils,
  21. UserUtils $userUtils,
  22. MerchantUtilsInterface $merchantUtils,
  23. ProductFamilyUtilsInterface $productFamilyUtils,
  24. OrderUtilsInterface $orderUtils,
  25. PriceUtilsInterface $priceUtils,
  26. DeliveryUtilsInterface $deliveryUtils,
  27. CreditUtils $creditUtils,
  28. DocumentUtils $documentUtils
  29. )
  30. {
  31. $this->utils = $utils ;
  32. $this->userUtils = $userUtils ;
  33. $this->merchantUtils = $merchantUtils ;
  34. $this->productFamilyUtils = $productFamilyUtils ;
  35. $this->orderUtils = $orderUtils ;
  36. $this->priceUtils = $priceUtils ;
  37. $this->deliveryUtils = $deliveryUtils ;
  38. $this->creditUtils = $creditUtils ;
  39. $this->documentUtils = $documentUtils ;
  40. }
  41. public function getUtils(): Utils
  42. {
  43. return $this->utils ;
  44. }
  45. public function getUserUtils(): UserUtilsInterface
  46. {
  47. return $this->userUtils ;
  48. }
  49. public function getMerchantUtils(): MerchantUtilsInterface
  50. {
  51. return $this->merchantUtils ;
  52. }
  53. public function getProductFamilyUtils(): ProductFamilyUtilsInterface
  54. {
  55. return $this->productFamilyUtils ;
  56. }
  57. public function getOrderUtils(): OrderUtilsInterface
  58. {
  59. return $this->orderUtils ;
  60. }
  61. public function getPriceUtils(): PriceUtilsInterface
  62. {
  63. return $this->priceUtils ;
  64. }
  65. public function getDeliveryUtils(): DeliveryUtilsInterface
  66. {
  67. return $this->deliveryUtils ;
  68. }
  69. public function getCreditUtils(): CreditUtilsInterface
  70. {
  71. return $this->creditUtils ;
  72. }
  73. public function getDocumentUtils(): DocumentUtilsInterface
  74. {
  75. return $this->documentUtils ;
  76. }
  77. }