31 private $preparedValueFactory;
38 private $deploymentConfigWriter;
45 private $arrayManager;
52 private $configPathResolver;
72 $this->preparedValueFactory = $preparedValueFactory;
73 $this->deploymentConfigWriter = $writer;
74 $this->arrayManager = $arrayManager;
75 $this->configPathResolver = $configPathResolver;
76 $this->target = $target;
89 $backendModel = $this->preparedValueFactory->create(
$path,
$value, $scope, $scopeCode);
91 if ($backendModel instanceof
Value) {
96 $backendModel->validateBeforeSave();
97 $backendModel->beforeSave();
99 $value = $backendModel->getValue();
101 $backendModel->afterSave();
107 $this->deploymentConfigWriter->saveConfig(
108 [$this->target => $this->arrayManager->set($configPath, [],
$value)],
112 }
catch (\Exception $exception) {
__construct(PreparedValueFactory $preparedValueFactory, DeploymentConfig\Writer $writer, ArrayManager $arrayManager, ConfigPathResolver $configPathResolver, $target=ConfigFilePool::APP_ENV)
process($path, $value, $scope, $scopeCode)