Me preguntaba si existe la posibilidad de modificar una configuración de paquetes de otro paquete. Digamos, por ejemplo, estoy usando el FOSUserBundle con la siguiente configuración:Modificar la configuración del paquete desde otro paquete
fos_user:
db_driver: orm
firewall_name: main
user_class: Acme\UserBundle\Entity\User
Y ahora, quiero cambiar la clase de usuario al cargar una extensión específica (la AcmeFoobarExtension
). ¿Es posible cambiar la configuración al cargar el AcmeFoobarExtension
? Por ejemplo:
<?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'
);
}
}
¿Es posible algo así? ¿O lo derrota con el propósito de la inyección de dependencia?
EDITAR: Aparentemente hay un pull request para Symfony 2.2 que aborda esta idea/problema.
EDIT 2: ahora está disponible en Symfony 2.2 (con un article in the cookbook).
Si tiene una respuesta, puede publicar una respuesta a su propia pregunta para esclarecer a los demás. – neontapir