/
githubmirror
/
magento2
Обзор
Документация
Войти
/
githubmirror
/
magento2
Код
Запросы
0
Пакеты
0
Релизы
0
Аналитика
Безопасность
2.4-develop
lib/internal/Magento/Framework/App/View/Deployment/Version.php
122 строки
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 2014 Adobe * All Rights Reserved. */ namespace Magento\Framework\App\View\Deployment; use Magento\Framework\App\DeploymentConfig; use Magento\Framework\App\ObjectManager; use Magento\Framework\Config\ConfigOptionsListConstants; use Psr\Log\LoggerInterface; /** * Deployment version of static files */ class Version { /** * @var \Magento\Framework\App\State */ private $appState; /** * @var \Magento\Framework\App\View\Deployment\Version\StorageInterface */ private $versionStorage; /** * @var string */ private $cachedValue; /** * @var LoggerInterface */ private $logger; /** * @var DeploymentConfig */ private $deploymentConfig; /** * @param \Magento\Framework\App\State $appState * @param Version\StorageInterface $versionStorage * @param DeploymentConfig|null $deploymentConfig */ public function __construct( \Magento\Framework\App\State $appState, \Magento\Framework\App\View\Deployment\Version\StorageInterface $versionStorage, ?DeploymentConfig $deploymentConfig = null ) { $this->appState = $appState; $this->versionStorage = $versionStorage; $this->deploymentConfig = $deploymentConfig ?: ObjectManager::getInstance()->get(DeploymentConfig::class); } /** * Retrieve deployment version of static files * * @return string */ public function getValue() { if (!$this->cachedValue) { $this->cachedValue = $this->readValue($this->appState->getMode()); } return $this->cachedValue; } /** * Load or generate deployment version of static files depending on the application mode * * @param string $appMode * @return string */ protected function readValue($appMode) { $result = $this->versionStorage->load(); if (!$result) { if ($appMode == \Magento\Framework\App\State::MODE_PRODUCTION && !$this->deploymentConfig->getConfigData( ConfigOptionsListConstants::CONFIG_PATH_SCD_ON_DEMAND_IN_PRODUCTION ) ) { $this->getLogger()->critical('Can not load static content version.'); throw new \UnexpectedValueException( "Unable to retrieve deployment version of static files from the file system." ); } $result = $this->generateVersion(); $this->versionStorage->save($result); } return $result; } /** * Generate version of static content * * @return int */ private function generateVersion() { return time(); } /** * Get logger * * @return LoggerInterface * @deprecated 101.0.0 */ private function getLogger() { if ($this->logger == null) { $this->logger = \Magento\Framework\App\ObjectManager::getInstance() ->get(LoggerInterface::class); } return $this->logger; } }