/
githubmirror
/
magento2
Обзор
Документация
Войти
/
githubmirror
/
magento2
Код
Запросы
0
Пакеты
0
Релизы
0
Аналитика
Безопасность
2.4-develop
lib/internal/Magento/Framework/View/Asset/Bundle/Config.php
121 строка
3 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\View\Asset\Bundle; use Magento\Framework\App\ObjectManager; use Magento\Framework\View; use Magento\Framework\View\Asset\Bundle; use Magento\Framework\View\Design\Theme\ListInterface; use Magento\Framework\View\Asset\File\FallbackContext; use Magento\Framework\View\Design\Theme\ThemeProviderInterface; /** * Class Config * @deprecated 101.0.0 * @see \Magento\Deploy\Config\BundleConfig */ class Config implements Bundle\ConfigInterface { /**#@+ * Bundle config info */ const VIEW_CONFIG_MODULE = 'Js_Bundle'; const VIEW_CONFIG_BUNDLE_SIZE_NAME = 'bundle_size'; /**#@-*/ /**#@-*/ protected $themeList; /** * @var View\ConfigInterface */ protected $viewConfig; /** * @var ThemeProviderInterface */ private $themeProvider; /** * @var \Magento\Framework\Config\View[] */ private $config = []; /** * @param View\ConfigInterface $viewConfig * @param ListInterface $themeList */ public function __construct( View\ConfigInterface $viewConfig, ListInterface $themeList ) { $this->viewConfig = $viewConfig; $this->themeList = $themeList; } /** * @param FallbackContext $assetContext * @return bool */ public function isSplit(FallbackContext $assetContext) { return (bool)$this->getPartSize($assetContext); } /** * @param FallbackContext $assetContext * @return \Magento\Framework\Config\View */ public function getConfig(FallbackContext $assetContext) { $themePath = $assetContext->getAreaCode() . '/' . $assetContext->getThemePath(); if (!isset($this->config[$themePath])) { $this->config[$themePath] = $this->viewConfig->getViewConfig([ 'area' => $assetContext->getAreaCode(), 'themeModel' => $this->getThemeProvider()->getThemeByFullPath( $themePath ) ]); } return $this->config[$themePath]; } /** * @param FallbackContext $assetContext * @return int */ public function getPartSize(FallbackContext $assetContext) { $size = $this->getConfig($assetContext)->getVarValue( self::VIEW_CONFIG_MODULE, self::VIEW_CONFIG_BUNDLE_SIZE_NAME ); $unit = preg_replace('/[^a-zA-Z]+/', '', $size); $unit = strtoupper($unit); switch ($unit) { case 'KB': return (int)$size; case 'MB': return (int)$size * 1024; default: return (int)($size / 1024); } } /** * @return ThemeProviderInterface */ private function getThemeProvider() { if (null === $this->themeProvider) { $this->themeProvider = ObjectManager::getInstance()->get(ThemeProviderInterface::class); } return $this->themeProvider; } }