/** * @param $string * @param Input $input * @param $modeHint * @param bool $caseSensitive * * @return int * @throws \yii\base\InvalidParamException */ public static function splitStringToQrInput($string, Input $input, $modeHint, $caseSensitive = true) { if (is_null($string) || $string == '\\0' || $string == '') { throw new InvalidParamException('empty string!!!'); } $split = new Split($string, $input, $modeHint); if (!$caseSensitive) { $split->toUpper(); } return $split->splitString(); }
/** * @param $string * @param $version * @param $level * @param $hint * @param $caseSensitive * * @return $this|null * @throws \yii\base\InvalidParamException */ public function encodeString($string, $version, $level, $hint, $caseSensitive) { if ($hint != Enum::QR_MODE_8 && $hint != Enum::QR_MODE_KANJI) { throw new InvalidParamException('bad hint'); } $input = new Input($version, $level); if ($input == null) { return null; } $ret = Split::splitStringToQrInput($string, $input, $hint, $caseSensitive); if ($ret < 0) { return null; } return $this->encodeInput($input); }