Przeglądaj źródła

:octocat: shortcut for Mode::getLengthBitsForVersion()

smiley 3 lat temu
rodzic
commit
fd3709d1bb

+ 2 - 2
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

+ 2 - 2
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');

+ 2 - 2
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');

+ 2 - 2
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

+ 9 - 0
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);
+	}
+
 }