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

Public Member Functions

 __construct (ConfigOptionsListCollector $collector, Writer $writer, DeploymentConfig $deploymentConfig, FilePermissions $filePermissions)
 
 process ($inputOptions)
 
 validate (array $inputOptions)
 

Protected Attributes

 $collector
 
 $writer
 
 $deploymentConfig
 

Detailed Description

Definition at line 15 of file ConfigModel.php.

Constructor & Destructor Documentation

◆ __construct()

__construct ( ConfigOptionsListCollector  $collector,
Writer  $writer,
DeploymentConfig  $deploymentConfig,
FilePermissions  $filePermissions 
)

Constructor

Parameters
ConfigOptionsListCollector$collector
Writer$writer
DeploymentConfig$deploymentConfig
FilePermissions$filePermissions

Definition at line 47 of file ConfigModel.php.

52  {
53  $this->collector = $collector;
54  $this->writer = $writer;
55  $this->filePermissions = $filePermissions;
56  $this->deploymentConfig = $deploymentConfig;
57  }

Member Function Documentation

◆ process()

process (   $inputOptions)

Process input options

Parameters
array$inputOptions
Returns
void
Exceptions

Definition at line 91 of file ConfigModel.php.

92  {
93  $this->checkInstallationFilePermissions();
94 
95  $options = $this->collector->collectOptionsLists();
96 
97  foreach ($options as $moduleName => $option) {
98  $configData = $option->createConfig($inputOptions, $this->deploymentConfig);
99 
100  foreach ($configData as $config) {
101  $fileConfigStorage = [];
102  if (!$config instanceof ConfigData) {
103  throw new \Exception(
104  'In module : '
105  . $moduleName
106  . 'ConfigOption::createConfig should return an array of ConfigData instances'
107  );
108  }
109 
110  if (isset($fileConfigStorage[$config->getFileKey()])) {
111  $fileConfigStorage[$config->getFileKey()] = array_replace_recursive(
112  $fileConfigStorage[$config->getFileKey()],
113  $config->getData()
114  );
115  } else {
116  $fileConfigStorage[$config->getFileKey()] = $config->getData();
117  }
118  $this->writer->saveConfig($fileConfigStorage, $config->isOverrideWhenSave());
119  }
120  }
121  }
$config
Definition: fraud_order.php:17

◆ validate()

validate ( array  $inputOptions)

Validates Input Options

Parameters
array$inputOptions
Returns
array

Definition at line 129 of file ConfigModel.php.

130  {
131  $errors = [];
132 
133  //Basic types validation
134  $options = $this->getAvailableOptions();
135  foreach ($options as $option) {
136  try {
137  if ($inputOptions[$option->getName()] !== null) {
138  $option->validate($inputOptions[$option->getName()]);
139  }
140  } catch (\InvalidArgumentException $e) {
141  $errors[] = $e->getMessage();
142  }
143  }
144 
145  // validate ConfigOptionsList
146  $options = $this->collector->collectOptionsLists();
147 
148  foreach ($options as $option) {
149  $errors = array_merge($errors, $option->validate($inputOptions, $this->deploymentConfig));
150  }
151 
152  return $errors;
153  }
$errors
Definition: overview.phtml:9

Field Documentation

◆ $collector

$collector
protected

Definition at line 20 of file ConfigModel.php.

◆ $deploymentConfig

$deploymentConfig
protected

Definition at line 37 of file ConfigModel.php.

◆ $writer

$writer
protected

Definition at line 25 of file ConfigModel.php.


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