private function createEncoder(array $config)
    {
        if (isset($config['algorithm'])) {
            $config = $this->getEncoderConfigFromAlgorithm($config);
        }
        if (!isset($config['class'])) {
            throw new \InvalidArgumentException(sprintf('"class" must be set in %s.', json_encode($config)));
        }
        if (!isset($config['arguments'])) {
            throw new \InvalidArgumentException(sprintf('"arguments" must be set in %s.', json_encode($config)));
        }

        $reflection = new \ReflectionClass($config['class']);

        return $reflection->newInstanceArgs($config['arguments']);
    }
private function createEncoder(array $config)
    {
        if (isset($config['algorithm'])) {
            $config = $this->getEncoderConfigFromAlgorithm($config);
        }
        if (!isset($config['class'])) {
            throw new \InvalidArgumentException(sprintf('"class" must be set in %s.', json_encode($config)));
        }
        if (!isset($config['arguments'])) {
            throw new \InvalidArgumentException(sprintf('"arguments" must be set in %s.', json_encode($config)));
        }

        $reflection = new \ReflectionClass($config['class']);

        return $reflection->newInstanceArgs($config['arguments']);
    }
private function createEncoder ( array $ config ) { if ( isset ( $ config [ 'algorithm' ] ) ) { $ config = $ this -> getEncoderConfigFromAlgorithm ( $ config ) ; } if ( ! isset ( $ config [ 'class' ] ) ) { throw new \ InvalidArgumentException ( sprintf ( '"class" must be set in %s.' , json_encode ( $ config ) ) ) ; } if ( ! isset ( $ config [ 'arguments' ] ) ) { throw new \ InvalidArgumentException ( sprintf ( '"arguments" must be set in %s.' , json_encode ( $ config ) ) ) ; } $ reflection = new \ ReflectionClass ( $ config [ 'class' ] ) ; return $ reflection -> newInstanceArgs ( $ config [ 'arguments' ] ) ; }
Creates the actual encoder instance.

@return PasswordEncoderInterface

@throws \InvalidArgumentException
Creates the actual encoder instance .