Zmodyfikuj konfigurację pakietu z innego pakietu
Zastanawiałem się, czy istnieje możliwość zmodyfikowania konfiguracji pakietów z innego pakietu. Załóżmy na przykład, że używam FOSUserBundle z następującą konfiguracją:
fos_user:
db_driver: orm
firewall_name: main
user_class: Acme\UserBundle\Entity\User
A teraz chcę zmienić klasę użytkownika podczas ładowania określonego rozszerzenia (AcmeFoobarExtension
). Czy można zmienić konfigurację podczas ładowaniaAcmeFoobarExtension
? Na przykład:
<?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'
);
}
}
Czy coś takiego jest możliwe? Lub pokonuje to cel zastrzyku zależności?
EDYCJA: Najwyraźniej jestprośba o pociągnięcie dla Symfony 2.2, który rozwiązuje ten problem / problem.
EDIT 2: Jest to teraz dostępne w Symfony 2.2 (zartykuł w książce kucharskiej).