Изменить конфигурацию пакета из другого пакета
Мне было интересно, возможно ли изменить конфигурацию комплекта из другого комплекта. Допустим, например, что я использую FOSUserBundle со следующей конфигурацией:
fos_user:
db_driver: orm
firewall_name: main
user_class: Acme\UserBundle\Entity\User
А теперь я хочу изменить пользовательский класс при загрузке определенного расширения (AcmeFoobarExtension
). Можно ли изменить конфигурацию при загрузке
AcmeFoobarExtension
? Например:
<?php
namespace Acme\FoobarBundle\DependencyInjection;
// use statements for dependency injection
class FoobarExtension extends Extension
{
public function load(array $configs, ContainerBuilder $container)
{
$container->setConfiguration(
'fos_user.user_class',
'Acme\FoobarBundle\Entity\User'
);
}
}
Возможно ли что-то подобное? Или это побеждает цель внедрения зависимости?
РЕДАКТИРОВАТЬ: очевидно, естьтянуть запрос для Symfony 2.2, которая решает эту идею / проблему.
РЕДАКТИРОВАТЬ 2: Это теперь доступно в Symfony 2.2 (сстатья в кулинарной книге).