/**
  * Get service.
  *
  * @param string $id
  * @param array  $args
  * @param int    $invalidBehavior
  *
  * @return mixed|object|null
  */
 public function get($id, array $args = array(), $invalidBehavior = self::EXCEPTION_ON_INVALID_REFERENCE)
 {
     if (null !== ($service = parent::get($id, $args, self::NULL_ON_INVALID_REFERENCE))) {
         return $service;
     }
     $id = $this->getServiceId($id);
     try {
         $definition = $this->getDefinition($id);
     } catch (InvalidArgumentException $e) {
         if (self::NULL_ON_INVALID_REFERENCE === $invalidBehavior) {
             return null;
         }
         throw $e;
     }
     return $this->registerDefinition($id, $definition, $args);
 }
Example #2
0
 private function getBuilder()
 {
     $container = new Container();
     $container->getDi()->getInjector()->resolveUnknownClass(true);
     return $container->getDi()->createInstance('\\Borobudur\\DependencyInjection\\Test\\B');
 }
 private function getCompiledContainer()
 {
     $container = new Container();
     $container->getParameterBag()->set('level', 'info');
     $container->set('log', function ($message, $level) {
         return sprintf('[%s]: %s', $level, $message);
     });
     return $container->compile();
 }