PreProcessorComposite.php 852 B

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