/** * Load config. * @param \Symfony\Component\DependencyInjection\ContainerBuilder $p_container * @param array $p_arrConfig */ private function loadConfig(ContainerBuilder $p_container, array $p_arrConfig) { // ------------------------- DECLARE ---------------------------// // Load defined options in config file. foreach (UConfiguration::getArrOptionAll() as $option) { if (empty($p_arrConfig[$option]) == false || $p_arrConfig[$option] === false) { $p_container->setParameter(Configuration::$NODE_ROOT . '.' . $option, $p_arrConfig[$option]); } } }
/** * @return \Symfony\Component\Config\Definition\Builder\TreeBuilder */ public function getConfigTreeBuilder() { $treeBuilder = new TreeBuilder(); $rootNode = $treeBuilder->root(Configuration::$NODE_ROOT); // ------------------------- DECLARE ---------------------------// // Add all available configuration nodes. $nodeBuilder = $rootNode->addDefaultsIfNotSet()->children(); UConfiguration::addArrOptionBoolean($nodeBuilder); UConfiguration::addArrOptionInteger($nodeBuilder); UConfiguration::addArrOptionString($nodeBuilder); UConfiguration::addArrOptionArray($nodeBuilder); UConfiguration::addArrOptionObject($nodeBuilder); $nodeBuilder->end(); return $treeBuilder; }
/** * @param \Symfony\Component\OptionsResolver\OptionsResolver $p_resolver */ public function configureOptions(OptionsResolver $p_resolver) { $arrDefault = array(); $arrDefined = array(); // ------------------------- DECLARE ---------------------------// foreach (UConfiguration::getArrOptionAll() as $option) { // If defined in config file, set default value to form, else set option as available. if ($this->m_container->hasParameter(Configuration::$NODE_ROOT . '.' . $option)) { $arrDefault[$option] = $this->m_container->getParameter(Configuration::$NODE_ROOT . '.' . $option); } else { $arrDefined[] = $option; } } $p_resolver->setDefined($arrDefined); $p_resolver->setDefaults($arrDefault); }