Symfony\Component\DependencyInjection\InterfaceInjector::merge PHP Method

merge() public method

Merges another InterfaceInjector
public merge ( InterfaceInjector $injector )
$injector InterfaceInjector
    public function merge(InterfaceInjector $injector)
    {
        if ($this->class === $injector->getClass()) {
            foreach ($injector->getMethodCalls() as $call) {
                list ($method, $arguments) = $call;
                $this->addMethodCall($method, $arguments);
            }
        }
    }

Usage Example

 /**
  * @covers Symfony\Component\DependencyInjection\InterfaceInjector::merge
  */
 public function testMerge()
 {
     $injector1 = new InterfaceInjector('Symfony\\Tests\\Component\\DependencyInjection\\Service');
     $injector1->addMethodCall('method_one');
     $injector2 = new InterfaceInjector('Symfony\\Tests\\Component\\DependencyInjection\\Service');
     $injector2->addMethodCall('method_two');
     $injector1->merge($injector2);
     $methodCalls = $injector1->getMethodCalls();
     $this->assertEquals(2, count($methodCalls));
     $this->assertEquals(array(array('method_one', array()), array('method_two', array())), $methodCalls);
 }