CompositeConfigProvider.php 880 B

12345678910111213141516171819202122232425262728293031323334353637383940
  1. <?php
  2. /**
  3. * Copyright © Magento, Inc. All rights reserved.
  4. * See COPYING.txt for license details.
  5. */
  6. namespace Magento\GiftMessage\Model;
  7. use Magento\Checkout\Model\ConfigProviderInterface;
  8. /**
  9. * Class CompositeConfigProvider
  10. */
  11. class CompositeConfigProvider implements ConfigProviderInterface
  12. {
  13. /**
  14. * @var ConfigProviderInterface[]
  15. */
  16. private $configProviders;
  17. /**
  18. * @param ConfigProviderInterface[] $configProviders
  19. */
  20. public function __construct(
  21. array $configProviders = []
  22. ) {
  23. $this->configProviders = $configProviders;
  24. }
  25. /**
  26. * @inheritdoc
  27. */
  28. public function getConfig()
  29. {
  30. $config = [];
  31. foreach ($this->configProviders as $configProvider) {
  32. $config = array_merge_recursive($config, $configProvider->getConfig());
  33. }
  34. return $config;
  35. }
  36. }