76 lines
		
	
	
		
			2.2 KiB
		
	
	
	
		
			PHP
		
	
	
		
			Executable File
		
	
	
			
		
		
	
	
			76 lines
		
	
	
		
			2.2 KiB
		
	
	
	
		
			PHP
		
	
	
		
			Executable File
		
	
	
<?php
 | 
						|
/**
 | 
						|
 * Copyright © Magento, Inc. All rights reserved.
 | 
						|
 * See COPYING.txt for license details.
 | 
						|
 */
 | 
						|
 | 
						|
namespace Magento\Ui\Config;
 | 
						|
 | 
						|
use Magento\Framework\Config\FileIterator;
 | 
						|
use Magento\Framework\Filesystem\DriverPool;
 | 
						|
use Magento\Framework\Filesystem\File\ReadFactory;
 | 
						|
use Magento\Framework\Module\Dir;
 | 
						|
 | 
						|
class FileResolverStub implements \Magento\Framework\Config\FileResolverInterface
 | 
						|
{
 | 
						|
    /**
 | 
						|
     * @var array
 | 
						|
     */
 | 
						|
    private $files = [
 | 
						|
        'etc/definition.xml' => [
 | 
						|
            'module_one/ui_component/etc/test_definition.xml',
 | 
						|
            'module_two/ui_component/etc/test_definition.xml'
 | 
						|
        ],
 | 
						|
        'etc/definition.map.xml' => [
 | 
						|
            'ui_component/etc/definition.map.xml'
 | 
						|
        ],
 | 
						|
        'etc/test_definition.xml' => [
 | 
						|
            'module_one/ui_component/etc/test_definition.xml',
 | 
						|
            'module_two/ui_component/etc/test_definition.xml'
 | 
						|
        ],
 | 
						|
        'test_component.xml' => [
 | 
						|
            'module_one/ui_component/test_component.xml',
 | 
						|
            'module_two/ui_component/test_component.xml'
 | 
						|
        ],
 | 
						|
        'parent_component.xml' => [
 | 
						|
            'module_one/ui_component/parent_component.xml',
 | 
						|
            'module_two/ui_component/parent_component.xml'
 | 
						|
        ]
 | 
						|
    ];
 | 
						|
 | 
						|
    /**
 | 
						|
     * @var Dir\Reader
 | 
						|
     */
 | 
						|
    private $moduleReader;
 | 
						|
 | 
						|
    /**
 | 
						|
     * FileResolverStub constructor.
 | 
						|
     *
 | 
						|
     * @param \Magento\Framework\Module\Dir\Reader $moduleReader
 | 
						|
     * @param array $files
 | 
						|
     */
 | 
						|
    public function __construct(\Magento\Framework\Module\Dir\Reader $moduleReader, array $files = [])
 | 
						|
    {
 | 
						|
        $this->files = array_replace($this->files, $files);
 | 
						|
        $this->moduleReader = $moduleReader;
 | 
						|
    }
 | 
						|
 | 
						|
    /**
 | 
						|
     * {@inheritdoc}
 | 
						|
     */
 | 
						|
    public function get($filename, $scope)
 | 
						|
    {
 | 
						|
        if ($filename == 'etc/definition.map.xml') {
 | 
						|
            $path = $this->moduleReader->getModuleDir(Dir::MODULE_VIEW_DIR, 'Magento_Ui') . '/base';
 | 
						|
        } else {
 | 
						|
            $path = realpath(__DIR__ . '/../_files/view');
 | 
						|
        }
 | 
						|
        $files = isset($this->files[$filename]) ? $this->files[$filename] : [];
 | 
						|
        $realPaths = [];
 | 
						|
        foreach ($files as $filePath) {
 | 
						|
            $realPaths[] = $path . '/' . $filePath;
 | 
						|
        }
 | 
						|
        return new FileIterator(new ReadFactory(new DriverPool), $realPaths);
 | 
						|
    }
 | 
						|
}
 |