/
githubmirror
/
magento2
Обзор
Документация
Войти
/
githubmirror
/
magento2
Код
Запросы
0
Пакеты
0
Релизы
0
Аналитика
Безопасность
2.4-develop
lib/internal/Magento/Framework/Filesystem.php
127 строк
3 KB
Alexandra Zota
ACP2E-4019: CE copyright updates for 2.4.9-beta1
22 окт 2025, 17:47
22 окт 2025, 17:47
1b769b7
Код
Авторство
О чём код?
<?php /** * Magento filesystem facade * * Copyright 2014 Adobe * All Rights Reserved. */ namespace Magento\Framework; use Magento\Framework\Filesystem\DriverPool; /** * @api * @since 100.0.2 */ class Filesystem { /** * @var \Magento\Framework\Filesystem\DirectoryList */ protected $directoryList; /** * @var \Magento\Framework\Filesystem\Directory\ReadFactory */ protected $readFactory; /** * @var \Magento\Framework\Filesystem\Directory\WriteFactory */ protected $writeFactory; /** * @var \Magento\Framework\Filesystem\Directory\ReadInterface[] */ protected $readInstances = []; /** * @var \Magento\Framework\Filesystem\Directory\WriteInterface[] */ protected $writeInstances = []; /** * @param Filesystem\DirectoryList $directoryList * @param Filesystem\Directory\ReadFactory $readFactory * @param Filesystem\Directory\WriteFactory $writeFactory */ public function __construct( \Magento\Framework\Filesystem\DirectoryList $directoryList, \Magento\Framework\Filesystem\Directory\ReadFactory $readFactory, \Magento\Framework\Filesystem\Directory\WriteFactory $writeFactory ) { $this->directoryList = $directoryList; $this->readFactory = $readFactory; $this->writeFactory = $writeFactory; } /** * Create an instance of directory with read permissions * * @param string $directoryCode * @param string $driverCode * @return \Magento\Framework\Filesystem\Directory\ReadInterface */ public function getDirectoryRead($directoryCode, $driverCode = DriverPool::FILE) { $code = $directoryCode . '_' . $driverCode; if (!array_key_exists($code, $this->readInstances)) { $this->readInstances[$code] = $this->readFactory->create($this->getDirPath($directoryCode), $driverCode); } return $this->readInstances[$code]; } /** * Create an instance of directory with read permissions by path. * * @param string $path * @param string $driverCode * * @return \Magento\Framework\Filesystem\Directory\ReadInterface * * @since 102.0.0 */ public function getDirectoryReadByPath($path, $driverCode = DriverPool::FILE) { return $this->readFactory->create($path, $driverCode); } /** * Create an instance of directory with write permissions * * @param string $directoryCode * @param string $driverCode * @return \Magento\Framework\Filesystem\Directory\WriteInterface * @throws \Magento\Framework\Exception\FileSystemException */ public function getDirectoryWrite($directoryCode, $driverCode = DriverPool::FILE) { $code = $directoryCode . '_' . $driverCode; if (!array_key_exists($code, $this->writeInstances)) { $this->writeInstances[$code] = $this->writeFactory->create($this->getDirPath($directoryCode), $driverCode); } return $this->writeInstances[$code]; } /** * Gets configuration of a directory * * @param string $code * @return string */ protected function getDirPath($code) { return $this->directoryList->getPath($code); } /** * Retrieve uri for given code * * @param string $code * @return string */ public function getUri($code) { return $this->directoryList->getUrlPath($code); } }