protected function create(array $config, string $method, string $errorMessage)
    {
        if (isset($this->extensions[$config['name']])) {
            return $this->callCustomCreator($config['name'], $config);
        }

        if (\method_exists($this, $method)) {
            return $this->{$method}($config);
        }

        throw new InvalidArgumentException(\sprintf($errorMessage, $config['name']));
    }
protected function create(array $config, string $method, string $errorMessage)
    {
        if (isset($this->extensions[$config['name']])) {
            return $this->callCustomCreator($config['name'], $config);
        }

        if (\method_exists($this, $method)) {
            return $this->{$method}($config);
        }

        throw new InvalidArgumentException(\sprintf($errorMessage, $config['name']));
    }
protected function create ( array $ config , string $ method , string $ errorMessage ) { if ( isset ( $ this -> extensions [ $ config [ 'name' ] ] ) ) { return $ this -> callCustomCreator ( $ config [ 'name' ] , $ config ) ; } if ( \ method_exists ( $ this , $ method ) ) { return $ this -> { $ method } ( $ config ) ; } throw new InvalidArgumentException ( \ sprintf ( $ errorMessage , $ config [ 'name' ] ) ) ; }
Make a new driver instance.

@param array  $config
@param string $method
@param string $errorMessage

@throws \Viserio\Component\Contract\Manager\Exception\InvalidArgumentException

@return mixed
Make a new driver instance .