src/Weew/Container/Resolver.php
public function getClass(ClassDefinition $definition, array $args = []) {
        $abstract = $definition->getValue();
        $class = $definition->getId();

        if (is_callable($abstract)) {
            $instance = $this->container->call($abstract, $args);
        } else if (is_object($abstract)) {
            $instance = $abstract;
        } else {
            if ($abstract === null) {
                $abstract = $class;
            }

            $instance = $this->reflector
                ->resolveClass($this->container, $abstract, $args);
        }

        $this->matchClassType($class, $instance);

        return $instance;
    }
public function getClass(ClassDefinition $definition, array $args = []) {
        $abstract = $definition->getValue();
        $class = $definition->getId();

        if (is_callable($abstract)) {
            $instance = $this->container->call($abstract, $args);
        } else if (is_object($abstract)) {
            $instance = $abstract;
        } else {
            if ($abstract === null) {
                $abstract = $class;
            }

            $instance = $this->reflector
                ->resolveClass($this->container, $abstract, $args);
        }

        $this->matchClassType($class, $instance);

        return $instance;
    }
public function getClass ( ClassDefinition $ definition , array $ args = [ ] ) { $ abstract = $ definition -> getValue ( ) ; $ class = $ definition -> getId ( ) ; if ( is_callable ( $ abstract ) ) { $ instance = $ this -> container -> call ( $ abstract , $ args ) ; } else if ( is_object ( $ abstract ) ) { $ instance = $ abstract ; } else { if ( $ abstract === null ) { $ abstract = $ class ; } $ instance = $ this -> reflector -> resolveClass ( $ this -> container , $ abstract , $ args ) ; } $ this -> matchClassType ( $ class , $ instance ) ; return $ instance ; }
@param ClassDefinition $definition
@param array $args

@return mixed
@throws TypeMismatchException
@param ClassDefinition $definition @param array $args