Я работаю с Symfony 3.4 - у меня есть UserBundle, который расширяет FOSUserBundle. Этот комплект будет использоваться в нескольких проектах, и я хочу создать конфигурацию для своего комплекта. Например, чтобы включить или отключить ссылку регистрации в форме входа.
Я только что создал конфигурацию для этого - но переменные конфигурации не вставляются в шаблоны веток. В документации Symfony сказано, что я должен определить это как глобальные параметры, но это не очень хороший способ, потому что я не хочу устанавливать эти параметры в каждом проекте.
Конфигурация комплекта:
public function getConfigTreeBuilder()
{
$treeBuilder = new TreeBuilder();
$rootNode = $treeBuilder->root('user');
$rootNode
->children()
->booleanNode('loginform_registration_link')->isRequired()->end()
->end();
return $treeBuilder;
}
Вот код, как я загружаю конфигурацию:
public function load(array $configs, ContainerBuilder $container)
{
$loader = new Loader\YamlFileLoader($container, new FileLocator(__DIR__.'/../Resources/config'));
$loader->load('services.yml');
$configuration = new Configuration();
$config = $this->processConfiguration($configuration, $configs);
$container->setParameter('user.loginform_registration_link', $config['loginform_registration_link']);
}
Вопрос: как я могу ввести параметры конфигурации в веточку, не устанавливая ее в качестве глобальных переменных ветки, не затрагивая конфигурацию проекта снова и не переопределяя каждое действие / контроллер FOSUserBundle?