diff --git a/src/Symfony/Components/DependencyInjection/Container.php b/src/Symfony/Components/DependencyInjection/Container.php index 28f66cbb60..2fb8be769a 100644 --- a/src/Symfony/Components/DependencyInjection/Container.php +++ b/src/Symfony/Components/DependencyInjection/Container.php @@ -194,16 +194,16 @@ class Container implements ContainerInterface, \ArrayAccess, \Iterator throw new \InvalidArgumentException(sprintf('A service id should be a string (%s given).', str_replace("\n", '', var_export($id, true)))); } - if (isset($this->services[$id])) - { - return $this->services[$id]; - } - if (method_exists($this, $method = 'get'.self::camelize($id).'Service')) { return $this->$method(); } + if (isset($this->services[$id])) + { + return $this->services[$id]; + } + if (self::EXCEPTION_ON_INVALID_REFERENCE === $invalidBehavior) { throw new \InvalidArgumentException(sprintf('The service "%s" does not exist.', $id)); diff --git a/tests/unit/Symfony/Components/DependencyInjection/ContainerTest.php b/tests/unit/Symfony/Components/DependencyInjection/ContainerTest.php index 34e660d10e..00eaa1a9a6 100644 --- a/tests/unit/Symfony/Components/DependencyInjection/ContainerTest.php +++ b/tests/unit/Symfony/Components/DependencyInjection/ContainerTest.php @@ -155,7 +155,7 @@ $t->is(spl_object_hash($sc->getService('bar')), spl_object_hash($sc->__bar), '-> $t->ok($sc->hasService('bar'), '->hasService() returns true if the service has been defined as a getXXXService() method'); $sc->setService('bar', $bar = new stdClass()); -$t->is(spl_object_hash($sc->getService('bar')), spl_object_hash($bar), '->getService() prefers to return a service defined with setService() than one defined with a getXXXService() method'); +$t->isnt(spl_object_hash($sc->getService('bar')), spl_object_hash($bar), '->getService() prefers to return a service defined with a getXXXService() method than one defined with setService()'); try {