/
githubmirror
/
magento2
Обзор
Документация
Войти
/
githubmirror
/
magento2
Код
Запросы
0
Пакеты
0
Релизы
0
Аналитика
Безопасность
2.4-develop
lib/internal/Magento/Framework/Setup/SampleData/FixtureManager.php
82 строки
2 KB
Alexandra Zota
ACP2E-4019: CE copyright updates for 2.4.9-beta1
22 окт 2025, 17:47
22 окт 2025, 17:47
1b769b7
Код
Авторство
О чём код?
<?php /** * Copyright 2015 Adobe * All Rights Reserved. */ namespace Magento\Framework\Setup\SampleData; use Magento\Framework\Component\ComponentRegistrar; use Magento\Framework\Filesystem; use Magento\Framework\Filesystem\Directory\ReadInterface; class FixtureManager { /** * @var ComponentRegistrar */ private $componentRegistrar; /** * Modules root directory * * @var ReadInterface */ protected $_modulesDirectory; /** * @var \Magento\Framework\Stdlib\StringUtils */ protected $_string; /** * @param ComponentRegistrar $componentRegistrar * @param \Magento\Framework\Stdlib\StringUtils $string */ public function __construct(ComponentRegistrar $componentRegistrar, \Magento\Framework\Stdlib\StringUtils $string) { $this->componentRegistrar = $componentRegistrar; $this->_string = $string; } /** * Method to get fixture. * * @param string $fileId * @return string * @throws \Magento\Framework\Exception\LocalizedException */ public function getFixture($fileId) { list($moduleName, $filePath) = \Magento\Framework\View\Asset\Repository::extractModule( $this->normalizePath($fileId) ); return $this->componentRegistrar->getPath(ComponentRegistrar::MODULE, $moduleName) . '/' . $filePath; } /** * Remove excessive "." and ".." parts from a path * * For example foo/bar/../file.ext -> foo/file.ext * * @param string $path * @return string */ public static function normalizePath($path) { $parts = $path !== null ? explode('/', $path) : []; $result = []; foreach ($parts as $part) { if ('..' === $part) { if (!count($result) || ($result[count($result) - 1] == '..')) { $result[] = $part; } else { array_pop($result); } } elseif ('.' !== $part) { $result[] = $part; } } return implode('/', $result); } }