|
Apache/2.4.41 (Ubuntu) Linux vmi616275.contaboserver.net 5.4.0-84-generic #94-Ubuntu SMP Thu Aug 26 20:27:37 UTC 2021 x86_64 uid=33(www-data) gid=33(www-data) groups=33(www-data) server ip : 62.171.164.128 | your ip : 127.0.0.1 safemode OFF > / home / a / home / dev2.destoffenstraat.com / vendor / magento / framework / App / View / Deployment / |
Filename | /home/a/home/dev2.destoffenstraat.com/vendor/magento/framework/App/View/Deployment/Version.php |
Size | 3.1 kb |
Permission | rw-r--r-- |
Owner | root : root |
Create time | 21-Aug-2025 12:26 |
Last modified | 07-Jan-2021 21:08 |
Last accessed | 23-Aug-2025 14:22 |
Actions | edit | rename | delete | download (gzip) |
View | text | code | image |
<?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;
}
}
/**
* 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;
}
}