From fd3709d1bb597924fbbbdc1aa954d3a81507bcde Mon Sep 17 00:00:00 2001 From: smiley Date: Mon, 25 Jul 2022 20:04:21 +0200 Subject: [PATCH] :octocat: shortcut for Mode::getLengthBitsForVersion() --- src/Data/AlphaNum.php | 4 ++-- src/Data/Byte.php | 4 ++-- src/Data/Kanji.php | 4 ++-- src/Data/Number.php | 4 ++-- src/Data/QRDataModeAbstract.php | 9 +++++++++ 5 files changed, 17 insertions(+), 8 deletions(-) diff --git a/src/Data/AlphaNum.php b/src/Data/AlphaNum.php index 9bf95f7b9..bbf356b60 100644 --- a/src/Data/AlphaNum.php +++ b/src/Data/AlphaNum.php @@ -70,7 +70,7 @@ final class AlphaNum extends QRDataModeAbstract{ $bitBuffer ->put($this::$datamode, 4) - ->put($len, Mode::getLengthBitsForVersion($this::$datamode, $versionNumber)) + ->put($len, $this::getLengthBits($versionNumber)) ; // encode 2 characters in 11 bits @@ -91,7 +91,7 @@ final class AlphaNum extends QRDataModeAbstract{ * @throws \chillerlan\QRCode\Data\QRCodeDataException */ public static function decodeSegment(BitBuffer $bitBuffer, int $versionNumber):string{ - $length = $bitBuffer->read(Mode::getLengthBitsForVersion(self::$datamode, $versionNumber)); + $length = $bitBuffer->read(self::getLengthBits($versionNumber)); $charmap = array_flip(self::CHAR_TO_ORD); // @todo diff --git a/src/Data/Byte.php b/src/Data/Byte.php index 9aa850b5c..53b9f9a2d 100644 --- a/src/Data/Byte.php +++ b/src/Data/Byte.php @@ -49,7 +49,7 @@ final class Byte extends QRDataModeAbstract{ $bitBuffer ->put($this::$datamode, 4) - ->put($len, Mode::getLengthBitsForVersion($this::$datamode, $versionNumber)) + ->put($len, $this::getLengthBits($versionNumber)) ; $i = 0; @@ -67,7 +67,7 @@ final class Byte extends QRDataModeAbstract{ * @throws \chillerlan\QRCode\Data\QRCodeDataException */ public static function decodeSegment(BitBuffer $bitBuffer, int $versionNumber):string{ - $length = $bitBuffer->read(Mode::getLengthBitsForVersion(self::$datamode, $versionNumber)); + $length = $bitBuffer->read(self::getLengthBits($versionNumber)); if($bitBuffer->available() < 8 * $length){ throw new QRCodeDataException('not enough bits available'); diff --git a/src/Data/Kanji.php b/src/Data/Kanji.php index af7d8623e..79004739b 100644 --- a/src/Data/Kanji.php +++ b/src/Data/Kanji.php @@ -83,7 +83,7 @@ final class Kanji extends QRDataModeAbstract{ $bitBuffer ->put($this::$datamode, 4) - ->put($this->getCharCount(), Mode::getLengthBitsForVersion($this::$datamode, $versionNumber)) + ->put($this->getCharCount(), $this::getLengthBits($versionNumber)) ; $len = strlen($this->data); @@ -116,7 +116,7 @@ final class Kanji extends QRDataModeAbstract{ * @throws \chillerlan\QRCode\Data\QRCodeDataException */ public static function decodeSegment(BitBuffer $bitBuffer, int $versionNumber):string{ - $length = $bitBuffer->read(Mode::getLengthBitsForVersion(self::$datamode, $versionNumber)); + $length = $bitBuffer->read(self::getLengthBits($versionNumber)); if($bitBuffer->available() < $length * 13){ throw new QRCodeDataException('not enough bits available'); diff --git a/src/Data/Number.php b/src/Data/Number.php index 7c0a03446..5afa969e3 100644 --- a/src/Data/Number.php +++ b/src/Data/Number.php @@ -63,7 +63,7 @@ final class Number extends QRDataModeAbstract{ $bitBuffer ->put($this::$datamode, 4) - ->put($len, Mode::getLengthBitsForVersion($this::$datamode, $versionNumber)) + ->put($len, $this::getLengthBits($versionNumber)) ; $i = 0; @@ -108,7 +108,7 @@ final class Number extends QRDataModeAbstract{ * @throws \chillerlan\QRCode\Data\QRCodeDataException */ public static function decodeSegment(BitBuffer $bitBuffer, int $versionNumber):string{ - $length = $bitBuffer->read(Mode::getLengthBitsForVersion(self::$datamode, $versionNumber)); + $length = $bitBuffer->read(self::getLengthBits($versionNumber)); $charmap = array_flip(self::NUMBER_TO_ORD); // @todo diff --git a/src/Data/QRDataModeAbstract.php b/src/Data/QRDataModeAbstract.php index 17d22bc16..52d869a2a 100644 --- a/src/Data/QRDataModeAbstract.php +++ b/src/Data/QRDataModeAbstract.php @@ -10,6 +10,8 @@ namespace chillerlan\QRCode\Data; +use chillerlan\QRCode\Common\Mode; + /** */ abstract class QRDataModeAbstract implements QRDataModeInterface{ @@ -52,4 +54,11 @@ abstract class QRDataModeAbstract implements QRDataModeInterface{ return $this::$datamode; } + /** + * shortcut + */ + protected static function getLengthBits(int $versionNumber):int{ + return Mode::getLengthBitsForVersion(static::$datamode, $versionNumber); + } + }