src/main/php/ioc/DefaultInjectionProvider.php
private function injectionValuesForMethod(\ReflectionMethod $method)
    {
        $paramValues = [];
        $defaultName = $this->methodBindingName($method);
        foreach ($method->getParameters() as $param) {
            $type  = $this->paramType($method, $param);
            $name  = $this->detectBindingName($param, $defaultName);
            $hasExplicitBinding = $this->injector->hasExplicitBinding($type, $name);
            if (!$hasExplicitBinding && $param->isDefaultValueAvailable()) {
                $paramValues[] = $param->getDefaultValue();
                continue;
            }

            if (!$this->injector->hasBinding($type, $name)) {
                $typeMsg = $this->createTypeMessage($type, $name);
                throw new BindingException(
                        'Can not inject into '
                        . $this->class->getName() . '::' . $method->getName()
                        . '(' . $this->createParamString($param, $type)
                        . '). No binding for type ' . $typeMsg
                        . ' specified. Injection stack: ' . "\n"
                        . join("\n", $this->injector->stack())
                );
            }

            $paramValues[] = $this->injector->getInstance($type, $name);
        }

        return $paramValues;
    }
private function injectionValuesForMethod(\ReflectionMethod $method)
    {
        $paramValues = [];
        $defaultName = $this->methodBindingName($method);
        foreach ($method->getParameters() as $param) {
            $type  = $this->paramType($method, $param);
            $name  = $this->detectBindingName($param, $defaultName);
            $hasExplicitBinding = $this->injector->hasExplicitBinding($type, $name);
            if (!$hasExplicitBinding && $param->isDefaultValueAvailable()) {
                $paramValues[] = $param->getDefaultValue();
                continue;
            }

            if (!$this->injector->hasBinding($type, $name)) {
                $typeMsg = $this->createTypeMessage($type, $name);
                throw new BindingException(
                        'Can not inject into '
                        . $this->class->getName() . '::' . $method->getName()
                        . '(' . $this->createParamString($param, $type)
                        . '). No binding for type ' . $typeMsg
                        . ' specified. Injection stack: ' . "\n"
                        . join("\n", $this->injector->stack())
                );
            }

            $paramValues[] = $this->injector->getInstance($type, $name);
        }

        return $paramValues;
    }
private function injectionValuesForMethod ( \ ReflectionMethod $ method ) { $ paramValues = [ ] ; $ defaultName = $ this -> methodBindingName ( $ method ) ; foreach ( $ method -> getParameters ( ) as $ param ) { $ type = $ this -> paramType ( $ method , $ param ) ; $ name = $ this -> detectBindingName ( $ param , $ defaultName ) ; $ hasExplicitBinding = $ this -> injector -> hasExplicitBinding ( $ type , $ name ) ; if ( ! $ hasExplicitBinding && $ param -> isDefaultValueAvailable ( ) ) { $ paramValues [ ] = $ param -> getDefaultValue ( ) ; continue ; } if ( ! $ this -> injector -> hasBinding ( $ type , $ name ) ) { $ typeMsg = $ this -> createTypeMessage ( $ type , $ name ) ; throw new BindingException ( 'Can not inject into ' . $ this -> class -> getName ( ) . '::' . $ method -> getName ( ) . '(' . $ this -> createParamString ( $ param , $ type ) . '). No binding for type ' . $ typeMsg . ' specified. Injection stack: ' . "\n" . join ( "\n" , $ this -> injector -> stack ( ) ) ) ; } $ paramValues [ ] = $ this -> injector -> getInstance ( $ type , $ name ) ; } return $ paramValues ; }
returns a list of all injection values for given method

@param   \ReflectionMethod  $method
@return  array
@throws  \stubbles\ioc\binding\BindingException
returns a list of all injection values for given method