public static function loadFromProvisioningUri(string $uri): OTPInterface
    {
        $parsed_url = parse_url($uri);
        Assertion::isArray($parsed_url, 'Not a valid OTP provisioning URI');
        self::checkData($parsed_url);

        $otp = self::createOTP($parsed_url);

        self::populateOTP($otp, $parsed_url);

        return $otp;
    }
public static function loadFromProvisioningUri(string $uri): OTPInterface
    {
        $parsed_url = parse_url($uri);
        Assertion::isArray($parsed_url, 'Not a valid OTP provisioning URI');
        self::checkData($parsed_url);

        $otp = self::createOTP($parsed_url);

        self::populateOTP($otp, $parsed_url);

        return $otp;
    }
public static function loadFromProvisioningUri ( string $ uri ) : OTPInterface { $ parsed_url = parse_url ( $ uri ) ; Assertion :: isArray ( $ parsed_url , 'Not a valid OTP provisioning URI' ) ; self :: checkData ( $ parsed_url ) ; $ otp = self :: createOTP ( $ parsed_url ) ; self :: populateOTP ( $ otp , $ parsed_url ) ; return $ otp ; }
This method is the unique public method of the class.
It can load a provisioning Uri and convert it into an OTP object.

@param string $uri

@throws \InvalidArgumentException

@return OTPInterface
This method is the unique public method of the class . It can load a provisioning Uri and convert it into an OTP object .