Magento 2 Documentation  2.3
Documentation for Magento 2 CMS v2.3 (December 2018)
FileResolver.php
Go to the documentation of this file.
1 <?php
9 
11 
13 {
19  protected $_moduleReader;
20 
26  protected $iteratorFactory;
27 
33  protected $filesystem;
34 
40  public function __construct(
41  \Magento\Framework\Module\Dir\Reader $moduleReader,
42  \Magento\Framework\Filesystem $filesystem,
43  \Magento\Framework\Config\FileIteratorFactory $iteratorFactory
44  ) {
45  $this->iteratorFactory = $iteratorFactory;
46  $this->filesystem = $filesystem;
47  $this->_moduleReader = $moduleReader;
48  }
49 
53  public function get($filename, $scope)
54  {
55  switch ($scope) {
56  case 'primary':
57  $directory = $this->filesystem->getDirectoryRead(DirectoryList::CONFIG);
58  $absolutePaths = [];
59  foreach ($directory->search('{' . $filename . ',*/' . $filename . '}') as $path) {
60  $absolutePaths[] = $directory->getAbsolutePath($path);
61  }
62  $iterator = $this->iteratorFactory->create($absolutePaths);
63  break;
64  case 'global':
65  $iterator = $this->_moduleReader->getConfigurationFiles($filename);
66  break;
67  default:
68  $iterator = $this->_moduleReader->getConfigurationFiles($scope . '/' . $filename);
69  break;
70  }
71  return $iterator;
72  }
73 }
__construct(\Magento\Framework\Module\Dir\Reader $moduleReader, \Magento\Framework\Filesystem $filesystem, \Magento\Framework\Config\FileIteratorFactory $iteratorFactory)