/
githubmirror
/
magento2
Обзор
Документация
Войти
/
githubmirror
/
magento2
Код
Запросы
0
Пакеты
0
Релизы
0
Аналитика
Безопасность
2.4-develop
lib/internal/Magento/Framework/Backup/Factory.php
96 строк
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 2014 Adobe * All Rights Reserved. */ /** * Backup object factory. */ namespace Magento\Framework\Backup; use Magento\Framework\Exception\LocalizedException; use Magento\Framework\ObjectManagerInterface; use Magento\Framework\Phrase; /** * @api * @since 100.0.2 */ class Factory { /** * Object manager * * @var ObjectManagerInterface */ private $_objectManager; /** * Backup type constant for database backup */ const TYPE_DB = 'db'; /** * Backup type constant for filesystem backup */ const TYPE_FILESYSTEM = 'filesystem'; /** * Backup type constant for full system backup(database + filesystem) */ const TYPE_SYSTEM_SNAPSHOT = 'snapshot'; /** * Backup type constant for media and database backup */ const TYPE_MEDIA = 'media'; /** * Backup type constant for full system backup excluding media folder */ const TYPE_SNAPSHOT_WITHOUT_MEDIA = 'nomedia'; /** * List of supported a backup types * * @var string[] */ protected $_allowedTypes; /** * @param ObjectManagerInterface $objectManager */ public function __construct(ObjectManagerInterface $objectManager) { $this->_objectManager = $objectManager; $this->_allowedTypes = [ self::TYPE_DB, self::TYPE_FILESYSTEM, self::TYPE_SYSTEM_SNAPSHOT, self::TYPE_MEDIA, self::TYPE_SNAPSHOT_WITHOUT_MEDIA, ]; } /** * Create new backup instance * * @param string $type * @return BackupInterface * @throws LocalizedException */ public function create($type) { if (!in_array($type, $this->_allowedTypes)) { throw new LocalizedException( new Phrase( 'Current implementation not supported this type (%1) of backup.', [$type] ) ); } $class = 'Magento\Framework\Backup\\' . ucfirst($type); return $this->_objectManager->create($class); } }