mirror of
https://github.com/chillerlan/php-qrcode.git
synced 2026-08-24 20:37:55 +00:00
:octocat: shortcut for Mode::getLengthBitsForVersion()
This commit is contained in:
@@ -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
@@ -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
@@ -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
@@ -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
|
||||
|
||||
@@ -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);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user