private function getInvoker(): InvokerInterface
    {
        if ($this->invoker === null) {
            $resolvers = \array_merge([
                new AssociativeArrayResolver(),
                new NumericArrayResolver(),
                new TypeHintResolver(),
                new DefaultValueResolver(),
            ], $this->resolvers);

            if (($container = $this->container) !== null) {
                if (isset($this->inject['type'])) {
                    $resolvers[] = new TypeHintContainerResolver($container);
                }

                if (isset($this->inject['parameter'])) {
                    $resolvers[] = new ParameterNameContainerResolver($container);
                }

                $this->invoker = new DiInvoker(new ResolverChain($resolvers), $container);
            } else {
                $this->invoker = new DiInvoker(new ResolverChain($resolvers));
            }
        }

        return $this->invoker;
    }
private function getInvoker(): InvokerInterface
    {
        if ($this->invoker === null) {
            $resolvers = \array_merge([
                new AssociativeArrayResolver(),
                new NumericArrayResolver(),
                new TypeHintResolver(),
                new DefaultValueResolver(),
            ], $this->resolvers);

            if (($container = $this->container) !== null) {
                if (isset($this->inject['type'])) {
                    $resolvers[] = new TypeHintContainerResolver($container);
                }

                if (isset($this->inject['parameter'])) {
                    $resolvers[] = new ParameterNameContainerResolver($container);
                }

                $this->invoker = new DiInvoker(new ResolverChain($resolvers), $container);
            } else {
                $this->invoker = new DiInvoker(new ResolverChain($resolvers));
            }
        }

        return $this->invoker;
    }
private function getInvoker ( ) : InvokerInterface { if ( $ this -> invoker === null ) { $ resolvers = \ array_merge ( [ new AssociativeArrayResolver ( ) , new NumericArrayResolver ( ) , new TypeHintResolver ( ) , new DefaultValueResolver ( ) , ] , $ this -> resolvers ) ; if ( ( $ container = $ this -> container ) !== null ) { if ( isset ( $ this -> inject [ 'type' ] ) ) { $ resolvers [ ] = new TypeHintContainerResolver ( $ container ) ; } if ( isset ( $ this -> inject [ 'parameter' ] ) ) { $ resolvers [ ] = new ParameterNameContainerResolver ( $ container ) ; } $ this -> invoker = new DiInvoker ( new ResolverChain ( $ resolvers ) , $ container ) ; } else { $ this -> invoker = new DiInvoker ( new ResolverChain ( $ resolvers ) ) ; } } return $ this -> invoker ; }
Get a full configured invoker class.

@return \Invoker\InvokerInterface
Get a full configured invoker class .