eZ\Bundle\EzPublishCoreBundle\DependencyInjection\Configuration\Parser\IO::postProcessComplexSetting PHP Метод

postProcessComplexSetting() приватный Метод

private postProcessComplexSetting ( $setting, $sa, ContainerBuilder $container )
$container Symfony\Component\DependencyInjection\ContainerBuilder
    private function postProcessComplexSetting($setting, $sa, ContainerBuilder $container)
    {
        $configResolver = $container->get('ezpublish.config.resolver.core');
        if (!$configResolver->hasParameter($setting, null, $sa)) {
            return false;
        }
        $settingValue = $configResolver->getParameter($setting, null, $sa);
        if (!$this->complexSettingParser->containsDynamicSettings($settingValue)) {
            return false;
        }
        // we kind of need to process this as well, don't we ?
        if ($this->complexSettingParser->isDynamicSetting($settingValue)) {
            $parts = $this->complexSettingParser->parseDynamicSetting($settingValue);
            if (!isset($parts['namespace'])) {
                $parts['namespace'] = 'ezsettings';
            }
            if (!isset($parts['scope'])) {
                $parts['scope'] = $sa;
            }
            return $configResolver->getParameter($parts['param'], null, $sa);
        }
        $value = $settingValue;
        foreach ($this->complexSettingParser->parseComplexSetting($settingValue) as $dynamicSetting) {
            $parts = $this->complexSettingParser->parseDynamicSetting($dynamicSetting);
            if (!isset($parts['namespace'])) {
                $parts['namespace'] = 'ezsettings';
            }
            if (!isset($parts['scope'])) {
                $parts['scope'] = $sa;
            }
            $dynamicSettingValue = $configResolver->getParameter($parts['param'], $parts['namespace'], $parts['scope']);
            $value = str_replace($dynamicSetting, $dynamicSettingValue, $value);
        }
        return $value;
    }