Store.php 1.0 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344
  1. <?php
  2. /**
  3. * Copyright © Magento, Inc. All rights reserved.
  4. * See COPYING.txt for license details.
  5. */
  6. namespace Magento\Config\Model\Config\Source;
  7. /**
  8. * @api
  9. * @since 100.0.2
  10. */
  11. class Store implements \Magento\Framework\Option\ArrayInterface
  12. {
  13. /**
  14. * @var array
  15. */
  16. protected $_options;
  17. /**
  18. * @var \Magento\Store\Model\ResourceModel\Store\CollectionFactory
  19. */
  20. protected $_storesFactory;
  21. /**
  22. * @param \Magento\Store\Model\ResourceModel\Store\CollectionFactory $storesFactory
  23. */
  24. public function __construct(\Magento\Store\Model\ResourceModel\Store\CollectionFactory $storesFactory)
  25. {
  26. $this->_storesFactory = $storesFactory;
  27. }
  28. /**
  29. * @return array
  30. */
  31. public function toOptionArray()
  32. {
  33. if (!$this->_options) {
  34. /** @var $stores \Magento\Store\Model\ResourceModel\Store\Collection */
  35. $stores = $this->_storesFactory->create();
  36. $this->_options = $stores->load()->toOptionArray();
  37. }
  38. return $this->_options;
  39. }
  40. }