![]() Server : Apache System : Linux server2.corals.io 4.18.0-348.2.1.el8_5.x86_64 #1 SMP Mon Nov 15 09:17:08 EST 2021 x86_64 User : corals ( 1002) PHP Version : 7.4.33 Disable Function : exec,passthru,shell_exec,system Directory : /home/corals/old/vendor/magento/framework/App/View/Deployment/ |
<?php /** * Copyright © Magento, Inc. All rights reserved. * See COPYING.txt for license details. */ 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; } }