From e151e0915e84dccf70782e85a28404e44daf9039 Mon Sep 17 00:00:00 2001 From: smiley Date: Wed, 18 Mar 2026 02:22:16 +0100 Subject: [PATCH] :octocat: MaskPattern::$currentPattern: remove property getter in favor of asymmetric visibility --- src/Common/EccLevel.php | 2 +- src/Common/MaskPattern.php | 13 +++---------- src/Output/QRMarkupXML.php | 2 +- src/Output/QRStringJSON.php | 2 +- tests/Data/DataInterfaceTestAbstract.php | 2 +- tests/Data/QRMatrixTest.php | 2 +- 6 files changed, 8 insertions(+), 15 deletions(-) diff --git a/src/Common/EccLevel.php b/src/Common/EccLevel.php index f775481ff..f65124c05 100644 --- a/src/Common/EccLevel.php +++ b/src/Common/EccLevel.php @@ -184,7 +184,7 @@ final class EccLevel{ * returns the format pattern for the given $eccLevel and $maskPattern */ public function getformatPattern(MaskPattern $maskPattern):int{ - return self::FORMAT_PATTERN[$this->getOrdinal()][$maskPattern->getPattern()]; + return self::FORMAT_PATTERN[$this->getOrdinal()][$maskPattern->currentPattern]; } /** diff --git a/src/Common/MaskPattern.php b/src/Common/MaskPattern.php index d04be4839..e0ea3c3ff 100644 --- a/src/Common/MaskPattern.php +++ b/src/Common/MaskPattern.php @@ -67,7 +67,7 @@ final class MaskPattern{ /** * The current mask pattern value (0-7) */ - private int $maskPattern; + private(set) int $currentPattern; /** * MaskPattern constructor. @@ -80,14 +80,7 @@ final class MaskPattern{ throw new QRCodeException('invalid mask pattern'); } - $this->maskPattern = $maskPattern; - } - - /** - * Returns the current mask pattern - */ - public function getPattern():int{ - return $this->maskPattern; + $this->currentPattern = $maskPattern; } /** @@ -110,7 +103,7 @@ final class MaskPattern{ self::PATTERN_101 => fn(int $x, int $y):bool => (($x * $y) % 6) === 0, self::PATTERN_110 => fn(int $x, int $y):bool => (($x * $y) % 6) < 3, self::PATTERN_111 => fn(int $x, int $y):bool => (($x + $y + (($x * $y) % 3)) % 2) === 0, - ][$this->maskPattern]; + ][$this->currentPattern]; } /** diff --git a/src/Output/QRMarkupXML.php b/src/Output/QRMarkupXML.php index a68ae554d..7fbf2cd4c 100644 --- a/src/Output/QRMarkupXML.php +++ b/src/Output/QRMarkupXML.php @@ -80,7 +80,7 @@ class QRMarkupXML extends QRMarkup{ $matrix->setAttribute('size', (string)$dimension); $matrix->setAttribute('quietzoneSize', (string)(int)(($this->moduleCount - $dimension) / 2)); - $matrix->setAttribute('maskPattern', (string)$this->matrix->maskPattern->getPattern()); + $matrix->setAttribute('maskPattern', (string)$this->matrix->maskPattern->currentPattern); $matrix->setAttribute('width', (string)$width); $matrix->setAttribute('height', (string)$height); diff --git a/src/Output/QRStringJSON.php b/src/Output/QRStringJSON.php index 9d9658c81..d01c92f32 100644 --- a/src/Output/QRStringJSON.php +++ b/src/Output/QRStringJSON.php @@ -55,7 +55,7 @@ class QRStringJSON extends QROutputAbstract{ 'matrix' => [ 'size' => $dimension, 'quietzoneSize' => (int)(($this->moduleCount - $dimension) / 2), - 'maskPattern' => $this->matrix->maskPattern->getPattern(), + 'maskPattern' => $this->matrix->maskPattern->currentPattern, 'width' => $width, 'height' => $height, 'rows' => [], diff --git a/tests/Data/DataInterfaceTestAbstract.php b/tests/Data/DataInterfaceTestAbstract.php index d0d8fca73..c5e6b24b8 100644 --- a/tests/Data/DataInterfaceTestAbstract.php +++ b/tests/Data/DataInterfaceTestAbstract.php @@ -59,7 +59,7 @@ abstract class DataInterfaceTestAbstract extends TestCase{ $matrix = $this->QRData->writeMatrix()->setFormatInfo($maskPattern)->mask($maskPattern); $this::assertInstanceOf(QRMatrix::class, $matrix); - $this::assertSame($pattern, $matrix->maskPattern->getPattern()); + $this::assertSame($pattern, $matrix->maskPattern->currentPattern); } /** diff --git a/tests/Data/QRMatrixTest.php b/tests/Data/QRMatrixTest.php index 01e7ba612..c5ad07cda 100755 --- a/tests/Data/QRMatrixTest.php +++ b/tests/Data/QRMatrixTest.php @@ -71,7 +71,7 @@ final class QRMatrixTest extends TestCase{ $matrix = new QRCode()->addByteSegment('testdata')->getQRMatrix(); $this::assertInstanceOf(MaskPattern::class, $matrix->maskPattern); - $this::assertSame(MaskPattern::PATTERN_100, $matrix->maskPattern->getPattern()); + $this::assertSame(MaskPattern::PATTERN_100, $matrix->maskPattern->currentPattern); } /**