Magento 2 Documentation  2.3
Documentation for Magento 2 CMS v2.3 (December 2018)
Public Member Functions | Protected Attributes
ConfigGenerator Class Reference

Public Member Functions

 __construct (Random $random, DeploymentConfig $deploymentConfig, ConfigDataFactory $configDataFactory=null, CryptKeyGeneratorInterface $cryptKeyGenerator=null)
 
 createCryptConfig (array $data)
 
 createSessionConfig (array $data)
 
 createDefinitionsConfig (array $data)
 
 createDbConfig (array $data)
 
 createResourceConfig ()
 
 createXFrameConfig ()
 
 createModeConfig ()
 
 createCacheHostsConfig (array $data)
 

Protected Attributes

 $deploymentConfig
 
 $random
 

Detailed Description

Creates deployment config data based on user input array this class introduced to break down Magento\Setup\Model\ConfigOptionsList::createConfig

Definition at line 22 of file ConfigGenerator.php.

Constructor & Destructor Documentation

◆ __construct()

__construct ( Random  $random,
DeploymentConfig  $deploymentConfig,
ConfigDataFactory  $configDataFactory = null,
CryptKeyGeneratorInterface  $cryptKeyGenerator = null 
)

Constructor

Parameters
Random$randomDeprecated since 100.2.0
DeploymentConfig$deploymentConfig
ConfigDataFactory | null$configDataFactory
CryptKeyGeneratorInterface | null$cryptKeyGenerator

Definition at line 72 of file ConfigGenerator.php.

77  {
78  $this->random = $random;
79  $this->deploymentConfig = $deploymentConfig;
80  $this->configDataFactory = $configDataFactory ?? ObjectManager::getInstance()->get(ConfigDataFactory::class);
81  $this->cryptKeyGenerator = $cryptKeyGenerator ?? ObjectManager::getInstance()->get(CryptKeyGenerator::class);
82  }

Member Function Documentation

◆ createCacheHostsConfig()

createCacheHostsConfig ( array  $data)

Creates cache hosts config data

Parameters
array$data
Returns
ConfigData

Definition at line 239 of file ConfigGenerator.php.

240  {
241  $configData = $this->configDataFactory->create(ConfigFilePool::APP_ENV);
242 
245 
246  $hosts = array_map(
247  function ($hostData) {
248  $hostDataParts = explode(':', trim($hostData));
249 
250  $tmp = ['host' => $hostDataParts[0]];
251 
252  if (isset($hostDataParts[1])) {
253  $tmp['port'] = $hostDataParts[1];
254  }
255 
256  return $tmp;
257  },
258  $hosts
259  );
260 
262  }
263 
264  $configData->setOverrideWhenSave(true);
265  return $configData;
266  }

◆ createCryptConfig()

createCryptConfig ( array  $data)

Creates encryption key config data

Parameters
array$data
Returns
ConfigData

Definition at line 89 of file ConfigGenerator.php.

90  {
91  $currentKey = $this->deploymentConfig->get(ConfigOptionsListConstants::CONFIG_PATH_CRYPT_KEY);
92 
93  $configData = $this->configDataFactory->create(ConfigFilePool::APP_ENV);
94 
95  // Use given key if set, else use current
97 
98  // If there is no key given or currently set, generate a new one
99  $key = $key ?? $this->cryptKeyGenerator->generate();
100 
101  // Chaining of ".. ?? .." is not used to keep it simpler to understand
102 
104 
105  return $configData;
106  }

◆ createDbConfig()

createDbConfig ( array  $data)

Creates db config data

Parameters
array$data
Returns
ConfigData

Definition at line 147 of file ConfigGenerator.php.

148  {
149  $configData = $this->configDataFactory->create(ConfigFilePool::APP_ENV);
150 
151  $optional = [
159  ];
160 
162  $configData->set(
165  );
166  }
167 
169 
170  foreach ($optional as $key) {
171  if (isset($data[$key])) {
172  $configData->set($dbConnectionPrefix . self::$paramMap[$key], $data[$key]);
173  }
174  }
175 
176  $currentStatus = $this->deploymentConfig->get($dbConnectionPrefix . ConfigOptionsListConstants::KEY_ACTIVE);
177 
178  if ($currentStatus === null) {
179  $configData->set($dbConnectionPrefix . ConfigOptionsListConstants::KEY_ACTIVE, '1');
180  }
181 
182  return $configData;
183  }

◆ createDefinitionsConfig()

createDefinitionsConfig ( array  $data)

Creates definitions config data

Parameters
array$data
Returns
ConfigData
Deprecated:
2.2.0 @SuppressWarnings(PHPMD.UnusedFormalParameter)

Definition at line 136 of file ConfigGenerator.php.

137  {
138  return null;
139  }

◆ createModeConfig()

createModeConfig ( )

Create default entry for mode config option

Returns
ConfigData

Definition at line 222 of file ConfigGenerator.php.

223  {
224  $configData = $this->configDataFactory->create(ConfigFilePool::APP_ENV);
225 
226  if ($this->deploymentConfig->get(State::PARAM_MODE) === null) {
228  }
229 
230  return $configData;
231  }

◆ createResourceConfig()

createResourceConfig ( )

Creates resource config data

Returns
ConfigData

Definition at line 190 of file ConfigGenerator.php.

191  {
192  $configData = $this->configDataFactory->create(ConfigFilePool::APP_ENV);
193 
194  if ($this->deploymentConfig->get(ConfigOptionsListConstants::CONFIG_PATH_RESOURCE_DEFAULT_SETUP) === null) {
196  }
197 
198  return $configData;
199  }

◆ createSessionConfig()

createSessionConfig ( array  $data)

◆ createXFrameConfig()

createXFrameConfig ( )

Creates x-frame-options header config data

Returns
ConfigData

Definition at line 206 of file ConfigGenerator.php.

207  {
208  $configData = $this->configDataFactory->create(ConfigFilePool::APP_ENV);
209 
210  if ($this->deploymentConfig->get(ConfigOptionsListConstants::CONFIG_PATH_X_FRAME_OPT) === null) {
212  }
213 
214  return $configData;
215  }

Field Documentation

◆ $deploymentConfig

$deploymentConfig
protected

Definition at line 46 of file ConfigGenerator.php.

◆ $random

$random
protected

Definition at line 52 of file ConfigGenerator.php.


The documentation for this class was generated from the following file: