private function resolveActionParameters(Request $request, callable $target): array
    {
        // Get the target's parameters
        if( is_array($target) ) {
            $functionParameters = (new \ReflectionClass(get_class($target[0])))->getMethod($target[1])->getParameters();
        }

        else{
            $functionParameters = (new \ReflectionFunction($target))->getParameters();
        }

        $params = [];

        /** @var \ReflectionParameter $parameter */
        foreach( $functionParameters as $parameter ){

            /**
             *
             * @NOTE We cast the ReflectionType to string because the ::getName() method does not appear in
             * PHP 7 until 7.1
             *
             */
            // Check container first for an instance of this parameter type
            if( $parameter->getType() &&
                (string) $parameter->getType() === Request::class ){
                $params[$parameter->getPosition()] = $request;
            }

            // Check request attributes for this parameter name
            elseif( $request->attributes->has($parameter->getName()) ){
                $params[$parameter->getPosition()] = $request->attributes->get($parameter->getName());
            }

            else {
                $params[$parameter->getPosition()] = null;
            }
        }

        return $params;
    }
private function resolveActionParameters(Request $request, callable $target): array
    {
        // Get the target's parameters
        if( is_array($target) ) {
            $functionParameters = (new \ReflectionClass(get_class($target[0])))->getMethod($target[1])->getParameters();
        }

        else{
            $functionParameters = (new \ReflectionFunction($target))->getParameters();
        }

        $params = [];

        /** @var \ReflectionParameter $parameter */
        foreach( $functionParameters as $parameter ){

            /**
             *
             * @NOTE We cast the ReflectionType to string because the ::getName() method does not appear in
             * PHP 7 until 7.1
             *
             */
            // Check container first for an instance of this parameter type
            if( $parameter->getType() &&
                (string) $parameter->getType() === Request::class ){
                $params[$parameter->getPosition()] = $request;
            }

            // Check request attributes for this parameter name
            elseif( $request->attributes->has($parameter->getName()) ){
                $params[$parameter->getPosition()] = $request->attributes->get($parameter->getName());
            }

            else {
                $params[$parameter->getPosition()] = null;
            }
        }

        return $params;
    }
private function resolveActionParameters ( Request $ request , callable $ target ) : array { // Get the target's parameters if ( is_array ( $ target ) ) { $ functionParameters = ( new \ ReflectionClass ( get_class ( $ target [ 0 ] ) ) ) -> getMethod ( $ target [ 1 ] ) -> getParameters ( ) ; } else { $ functionParameters = ( new \ ReflectionFunction ( $ target ) ) -> getParameters ( ) ; } $ params = [ ] ; /** @var \ReflectionParameter $parameter */ foreach ( $ functionParameters as $ parameter ) { /**
             *
             * @NOTE We cast the ReflectionType to string because the ::getName() method does not appear in
             * PHP 7 until 7.1
             *
             */ // Check container first for an instance of this parameter type if ( $ parameter -> getType ( ) && ( string ) $ parameter -> getType ( ) === Request :: class ) { $ params [ $ parameter -> getPosition ( ) ] = $ request ; } // Check request attributes for this parameter name elseif ( $ request -> attributes -> has ( $ parameter -> getName ( ) ) ) { $ params [ $ parameter -> getPosition ( ) ] = $ request -> attributes -> get ( $ parameter -> getName ( ) ) ; } else { $ params [ $ parameter -> getPosition ( ) ] = null ; } } return $ params ; }
Resolve the action parameters for dependency injection.

@param Request $request
@param callable $target
@return array
Resolve the action parameters for dependency injection .