![]() 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/ |
<?php /** * Application configuration object. Used to access configuration when application is initialized and installed. * * Copyright © Magento, Inc. All rights reserved. * See COPYING.txt for license details. */ namespace Magento\Framework\App; use Magento\Framework\App\Config\ConfigTypeInterface; use Magento\Framework\App\Config\ScopeCodeResolver; use Magento\Framework\App\Config\ScopeConfigInterface; /** * Class Config */ class Config implements ScopeConfigInterface { /** * Config cache tag */ const CACHE_TAG = 'CONFIG'; /** * @var ScopeCodeResolver */ private $scopeCodeResolver; /** * @var ConfigTypeInterface[] */ private $types; /** * Config constructor. * * @param ScopeCodeResolver $scopeCodeResolver * @param array $types */ public function __construct( ScopeCodeResolver $scopeCodeResolver, array $types = [] ) { $this->scopeCodeResolver = $scopeCodeResolver; $this->types = $types; } /** * Retrieve config value by path and scope * * @param string $path * @param string $scope * @param null|int|string $scopeCode * @return mixed */ public function getValue( $path = null, $scope = ScopeConfigInterface::SCOPE_TYPE_DEFAULT, $scopeCode = null ) { if ($scope === 'store') { $scope = 'stores'; } elseif ($scope === 'website') { $scope = 'websites'; } $configPath = $scope; if ($scope !== 'default') { if (is_numeric($scopeCode) || $scopeCode === null) { $scopeCode = $this->scopeCodeResolver->resolve($scope, $scopeCode); } elseif ($scopeCode instanceof \Magento\Framework\App\ScopeInterface) { $scopeCode = $scopeCode->getCode(); } if ($scopeCode) { $configPath .= '/' . $scopeCode; } } if ($path) { $configPath .= '/' . $path; } return $this->get('system', $configPath); } /** * Retrieve config flag * * @param string $path * @param string $scope * @param null|int|string $scopeCode * @return bool */ public function isSetFlag($path, $scope = ScopeConfigInterface::SCOPE_TYPE_DEFAULT, $scopeCode = null) { return !!$this->getValue($path, $scope, $scopeCode); } /** * Invalidate cache by type * * Clean scopeCodeResolver * * @return void */ public function clean() { foreach ($this->types as $type) { $type->clean(); } $this->scopeCodeResolver->clean(); } /** * Retrieve configuration. * * ('modules') - modules status configuration data * ('scopes', 'websites/base') - base website data * ('scopes', 'stores/default') - default store data * * ('system', 'default/web/seo/use_rewrites') - default system configuration data * ('system', 'websites/base/web/seo/use_rewrites') - 'base' website system configuration data * * ('i18n', 'default/en_US') - translations for default store and 'en_US' locale * * @param string $configType * @param string|null $path * @param mixed|null $default * @return array */ public function get($configType, $path = '', $default = null) { $result = null; if (isset($this->types[$configType])) { $result = $this->types[$configType]->get($path); } return $result !== null ? $result : $default; } }