Composite.php 844 B

12345678910111213141516171819202122232425262728293031323334353637383940414243
  1. <?php
  2. /**
  3. * Copyright © Magento, Inc. All rights reserved.
  4. * See COPYING.txt for license details.
  5. */
  6. namespace Magento\Sitemap\Model\ItemProvider;
  7. class Composite implements ItemProviderInterface
  8. {
  9. /**
  10. * Item resolvers
  11. *
  12. * @var ItemProviderInterface[]
  13. */
  14. private $itemProviders;
  15. /**
  16. * Composite constructor.
  17. *
  18. * @param ItemProviderInterface[] $itemProviders
  19. */
  20. public function __construct($itemProviders = [])
  21. {
  22. $this->itemProviders = $itemProviders;
  23. }
  24. /**
  25. * {@inheritdoc}
  26. */
  27. public function getItems($storeId)
  28. {
  29. $items = [];
  30. foreach ($this->itemProviders as $resolver) {
  31. foreach ($resolver->getItems($storeId) as $item) {
  32. $items[] = $item;
  33. }
  34. }
  35. return $items;
  36. }
  37. }