DI\Container::injectOn PHP Method

injectOn() public method

Inject all dependencies on an existing instance.
public injectOn ( object $instance ) : object
$instance object Object to perform injection upon
return object $instance Returns the same instance
    public function injectOn($instance)
    {
        $objectDefinition = $this->definitionSource->getDefinition(get_class($instance));
        if (!$objectDefinition instanceof ObjectDefinition) {
            return $instance;
        }
        $definition = new InstanceDefinition($instance, $objectDefinition);
        $this->definitionResolver->resolve($definition);
        return $instance;
    }

Usage Example

 public function getController(Request $request)
 {
     $controller = $this->resolver->getController($request);
     if (!$controller instanceof \Closure) {
         $instance = is_array($controller) ? reset($controller) : $controller;
         if (is_object($instance)) {
             $this->container->injectOn($instance);
         }
     }
     return $controller;
 }
All Usage Examples Of DI\Container::injectOn