lib/Context.php
private function determineParamValue(\ReflectionParameter $parameter)
    {
        $class = $parameter->getClass();

        if (!empty($class)) {
            // If this is a object we may be able to map it to something in our context
            $className = $class->getName();

            // Determine strong type-based link
            if (isset($this->instances[$className])) {
                return $this->instances[$className];
            }

            // Determine weak type-based link
            if (isset($this->weakLinks[$className])) {
                $lowerClassName = $this->weakLinks[$className];
                return $this->instances[$lowerClassName];
            }
        } else {
            // If this is a primitive type, attempt to determine it by its name
            $varName = $parameter->getName();

            if (isset($this->variablesByName[$varName])) {
                return $this->variablesByName[$varName];
            }
        }

        // We were unable to determine a suitable value based on this context. Pass back its default value if possible.
        if ($parameter->isDefaultValueAvailable()) {
            return $parameter->getDefaultValue();
        }

        // As a final fallback we will primitive pass NULL and let the function deal with it.
        return null;
    }
private function determineParamValue(\ReflectionParameter $parameter)
    {
        $class = $parameter->getClass();

        if (!empty($class)) {
            // If this is a object we may be able to map it to something in our context
            $className = $class->getName();

            // Determine strong type-based link
            if (isset($this->instances[$className])) {
                return $this->instances[$className];
            }

            // Determine weak type-based link
            if (isset($this->weakLinks[$className])) {
                $lowerClassName = $this->weakLinks[$className];
                return $this->instances[$lowerClassName];
            }
        } else {
            // If this is a primitive type, attempt to determine it by its name
            $varName = $parameter->getName();

            if (isset($this->variablesByName[$varName])) {
                return $this->variablesByName[$varName];
            }
        }

        // We were unable to determine a suitable value based on this context. Pass back its default value if possible.
        if ($parameter->isDefaultValueAvailable()) {
            return $parameter->getDefaultValue();
        }

        // As a final fallback we will primitive pass NULL and let the function deal with it.
        return null;
    }
private function determineParamValue ( \ ReflectionParameter $ parameter ) { $ class = $ parameter -> getClass ( ) ; if ( ! empty ( $ class ) ) { // If this is a object we may be able to map it to something in our context $ className = $ class -> getName ( ) ; // Determine strong type-based link if ( isset ( $ this -> instances [ $ className ] ) ) { return $ this -> instances [ $ className ] ; } // Determine weak type-based link if ( isset ( $ this -> weakLinks [ $ className ] ) ) { $ lowerClassName = $ this -> weakLinks [ $ className ] ; return $ this -> instances [ $ lowerClassName ] ; } } else { // If this is a primitive type, attempt to determine it by its name $ varName = $ parameter -> getName ( ) ; if ( isset ( $ this -> variablesByName [ $ varName ] ) ) { return $ this -> variablesByName [ $ varName ] ; } } // We were unable to determine a suitable value based on this context. Pass back its default value if possible. if ( $ parameter -> isDefaultValueAvailable ( ) ) { return $ parameter -> getDefaultValue ( ) ; } // As a final fallback we will primitive pass NULL and let the function deal with it. return null ; }
Based on the current context, attempts to determine an appropriate value for a given parameter.

@param \ReflectionParameter The function parameter to analyze and determine a value for.
@return mixed
Based on the current context attempts to determine an appropriate value for a given parameter .