Przekroczono właściciela zasobów połączonych HWIOAuthBundle, ponieważ musiałem obsługiwać wyjątki połączeń. Można użyć przepustkę kompilatora, aby to zrobić:
namespace UserAccountBundle\DependencyInjection\Compiler;
use Symfony\Component\DependencyInjection\Compiler\CompilerPassInterface;
use Symfony\Component\DependencyInjection\ContainerBuilder;
class OverrideServiceCompilerPass implements CompilerPassInterface
{
public function process(ContainerBuilder $container)
{
$definition = $container->getDefinition('hwi_oauth.resource_owner.linkedin');
$definition->setClass('UserAccountBundle\OAuth\MyLinkedInResourceOwner');
}
}
potem w swoim zestawie:
namespace UserAccountBundle;
use Symfony\Component\HttpKernel\Bundle\Bundle;
use UserAccountBundle\DependencyInjection\Compiler\OverrideServiceCompilerPass;
use Symfony\Component\DependencyInjection\ContainerBuilder;
class UserAccountBundle extends Bundle
{
public function build(ContainerBuilder $container)
{
parent::build($container);
$container->addCompilerPass(new OverrideServiceCompilerPass());
}
}
Więcej na przesłonięcia wiązki: http://symfony.com/doc/current/cookbook/bundles/override.html
mogę potwierdzić, że to działa w ten sposób wielki! – Bruno