diff --git a/composer.json b/composer.json index dce48b25..7a710533 100644 --- a/composer.json +++ b/composer.json @@ -31,7 +31,8 @@ "cs:fix": "vendor/bin/php-cs-fixer fix --verbose", "cs:diff": "vendor/bin/php-cs-fixer fix --dry-run --diff --verbose", "phpstan": "vendor/bin/phpstan analyse", - "phpunit": "vendor/bin/phpunit --verbose" + "phpunit": "vendor/bin/phpunit --verbose", + "rector": "vendor/bin/rector" }, "conflict": { "khanamiryan/qrcode-detector-decoder": "1.0.6" diff --git a/example/FpdfOutput/fpdf-example.php b/example/FpdfOutput/fpdf-example.php index f12447c2..2a1b852e 100644 --- a/example/FpdfOutput/fpdf-example.php +++ b/example/FpdfOutput/fpdf-example.php @@ -1,8 +1,8 @@ AddPage(); // 3. Create a full payment part for FPDF -$output = new QrBill\PaymentPart\Output\FpdfOutput\FpdfOutput($qrBill, 'en', $fpdf); +$output = new FpdfOutput($qrBill, 'en', $fpdf); // 4. Optional, set layout options $displayOptions = new DisplayOptions(); diff --git a/example/HtmlOutput/html-example.php b/example/HtmlOutput/html-example.php index 83a102d3..6b104e3a 100644 --- a/example/HtmlOutput/html-example.php +++ b/example/HtmlOutput/html-example.php @@ -1,7 +1,7 @@ AddPage(); // 3. Create a full payment part for TcPDF -$output = new QrBill\PaymentPart\Output\TcPdfOutput\TcPdfOutput($qrBill, 'en', $tcPdf); +$output = new TcPdfOutput($qrBill, 'en', $tcPdf); // 4. Optional, set layout options $displayOptions = new DisplayOptions(); diff --git a/rector.php b/rector.php index e23eb96f..ee36b943 100644 --- a/rector.php +++ b/rector.php @@ -3,20 +3,13 @@ declare(strict_types=1); use Rector\Config\RectorConfig; -use Rector\Php80\Rector\Class_\ClassPropertyAssignToConstructorPromotionRector; -use Rector\Set\ValueObject\SetList; -return static function (RectorConfig $rectorConfig): void { - $rectorConfig->paths([ +return RectorConfig::configure() + ->withPaths([ __DIR__ . '/example', __DIR__ . '/src', __DIR__ . '/tests', - ]); - - $rectorConfig->importNames(true); - $rectorConfig->importShortClasses(false) - - $rectorConfig->sets([SetList::PHP_81]); - - $rectorConfig->rule(ClassPropertyAssignToConstructorPromotionRector::class); -}; + ])->withImportNames(importShortClasses: false, removeUnusedImports: true) + ->withPhpSets() //checks composer.json for supported php versions + //->withAttributesSets(all: true) + ; \ No newline at end of file diff --git a/src/DataGroup/Element/Abstracts/Address.php b/src/DataGroup/Element/Abstracts/Address.php index 498df288..86e0eae8 100644 --- a/src/DataGroup/Element/Abstracts/Address.php +++ b/src/DataGroup/Element/Abstracts/Address.php @@ -2,7 +2,6 @@ namespace Sprain\SwissQrBill\DataGroup\Element\Abstracts; -use Sprain\SwissQrBill\String\StringAnalyzer; use Sprain\SwissQrBill\String\StringModifier; /** diff --git a/src/DataGroup/Element/CombinedAddress.php b/src/DataGroup/Element/CombinedAddress.php index dc4c7ba8..67a13484 100644 --- a/src/DataGroup/Element/CombinedAddress.php +++ b/src/DataGroup/Element/CombinedAddress.php @@ -44,7 +44,7 @@ private function __construct( $this->name = self::normalizeString($name); $this->addressLine1 = self::normalizeString($addressLine1); $this->addressLine2 = self::normalizeString($addressLine2); - $this->country = strtoupper(self::normalizeString($country)); + $this->country = strtoupper((string) self::normalizeString($country)); } public static function create( diff --git a/src/DataGroup/Element/PaymentReference.php b/src/DataGroup/Element/PaymentReference.php index 25967be9..bd695fe3 100644 --- a/src/DataGroup/Element/PaymentReference.php +++ b/src/DataGroup/Element/PaymentReference.php @@ -53,8 +53,8 @@ public function getReference(): ?string public function getFormattedReference(): ?string { return match ($this->type) { - self::TYPE_QR => trim(strrev(chunk_split(strrev($this->reference), 5, ' '))), - self::TYPE_SCOR => trim(chunk_split($this->reference, 4, ' ')), + self::TYPE_QR => trim(strrev(chunk_split(strrev((string) $this->reference), 5, ' '))), + self::TYPE_SCOR => trim(chunk_split((string) $this->reference, 4, ' ')), default => null, }; } diff --git a/src/DataGroup/Element/StructuredAddress.php b/src/DataGroup/Element/StructuredAddress.php index fff6e3c1..9f04413f 100644 --- a/src/DataGroup/Element/StructuredAddress.php +++ b/src/DataGroup/Element/StructuredAddress.php @@ -54,7 +54,7 @@ private function __construct( $this->buildingNumber = self::normalizeString($buildingNumber); $this->postalCode = self::normalizeString($postalCode); $this->city = self::normalizeString($city); - $this->country = strtoupper(self::normalizeString($country)); + $this->country = strtoupper((string) self::normalizeString($country)); } public static function createWithoutStreet( diff --git a/src/PaymentPart/Output/TcPdfOutput/TcPdfOutput.php b/src/PaymentPart/Output/TcPdfOutput/TcPdfOutput.php index cab17278..926d2081 100644 --- a/src/PaymentPart/Output/TcPdfOutput/TcPdfOutput.php +++ b/src/PaymentPart/Output/TcPdfOutput/TcPdfOutput.php @@ -59,9 +59,9 @@ final class TcPdfOutput extends AbstractOutput public function __construct( QrBill $qrBill, string $language, - private TCPDF|Fpdi $tcPdf, - private float $offsetX = 0, - private float $offsetY = 0 + private readonly TCPDF|Fpdi $tcPdf, + private readonly float $offsetX = 0, + private readonly float $offsetY = 0 ) { parent::__construct($qrBill, $language); $this->setQrCodeImageFormat(QrCode::FILE_FORMAT_SVG); diff --git a/src/Reference/QrPaymentReferenceGenerator.php b/src/Reference/QrPaymentReferenceGenerator.php index c9669226..2a34f6b4 100644 --- a/src/Reference/QrPaymentReferenceGenerator.php +++ b/src/Reference/QrPaymentReferenceGenerator.php @@ -53,7 +53,7 @@ public function doGenerate(): string $completeReferenceNumber = $this->getCustomerIdentificationNumber(); $strlen = $completeReferenceNumber ? strlen($completeReferenceNumber) : 0; - $completeReferenceNumber .= str_pad($this->getReferenceNumber(), 26 - $strlen, '0', STR_PAD_LEFT); + $completeReferenceNumber .= str_pad((string) $this->getReferenceNumber(), 26 - $strlen, '0', STR_PAD_LEFT); $completeReferenceNumber .= $this->modulo10($completeReferenceNumber); return $completeReferenceNumber; diff --git a/tests/PaymentPart/Output/FpdfOutput/FpdfOutputTest.php b/tests/PaymentPart/Output/FpdfOutput/FpdfOutputTest.php index b0c332a8..e5a17093 100644 --- a/tests/PaymentPart/Output/FpdfOutput/FpdfOutputTest.php +++ b/tests/PaymentPart/Output/FpdfOutput/FpdfOutputTest.php @@ -9,7 +9,6 @@ use Sprain\SwissQrBill\PaymentPart\Output\FpdfOutput\FpdfOutput; use Sprain\SwissQrBill\PaymentPart\Output\FpdfOutput\UnsupportedEnvironmentException; use Sprain\SwissQrBill\PaymentPart\Output\DisplayOptions; -use Sprain\SwissQrBill\PaymentPart\Output\VerticalSeparatorSymbolPosition; use Sprain\SwissQrBill\QrBill; use Sprain\SwissQrBill\QrCode\QrCode; use Sprain\Tests\SwissQrBill\TestQrBillCreatorTrait; diff --git a/tests/PaymentPart/Output/FpdfOutput/FpdiOutputTest.php b/tests/PaymentPart/Output/FpdfOutput/FpdiOutputTest.php index d153a5aa..b04cf190 100644 --- a/tests/PaymentPart/Output/FpdfOutput/FpdiOutputTest.php +++ b/tests/PaymentPart/Output/FpdfOutput/FpdiOutputTest.php @@ -8,7 +8,6 @@ use Sprain\SwissQrBill\Exception\InvalidFpdfImageFormat; use Sprain\SwissQrBill\PaymentPart\Output\FpdfOutput\FpdfOutput; use Sprain\SwissQrBill\PaymentPart\Output\DisplayOptions; -use Sprain\SwissQrBill\PaymentPart\Output\VerticalSeparatorSymbolPosition; use Sprain\SwissQrBill\QrBill; use Sprain\SwissQrBill\QrCode\QrCode; use Sprain\Tests\SwissQrBill\TestQrBillCreatorTrait; diff --git a/tests/PaymentPart/Output/HtmlOutput/HtmlOutputTest.php b/tests/PaymentPart/Output/HtmlOutput/HtmlOutputTest.php index 9022ac8d..23cf80ab 100644 --- a/tests/PaymentPart/Output/HtmlOutput/HtmlOutputTest.php +++ b/tests/PaymentPart/Output/HtmlOutput/HtmlOutputTest.php @@ -5,7 +5,6 @@ use PHPUnit\Framework\TestCase; use Sprain\SwissQrBill\PaymentPart\Output\HtmlOutput\HtmlOutput; use Sprain\SwissQrBill\PaymentPart\Output\DisplayOptions; -use Sprain\SwissQrBill\PaymentPart\Output\VerticalSeparatorSymbolPosition; use Sprain\SwissQrBill\QrBill; use Sprain\SwissQrBill\QrCode\QrCode; use Sprain\Tests\SwissQrBill\TestCompactSvgQrCodeTrait; diff --git a/tests/PaymentPart/Output/TcPdfOutput/FpdiOutputTest.php b/tests/PaymentPart/Output/TcPdfOutput/FpdiOutputTest.php index d433d38e..4c686175 100644 --- a/tests/PaymentPart/Output/TcPdfOutput/FpdiOutputTest.php +++ b/tests/PaymentPart/Output/TcPdfOutput/FpdiOutputTest.php @@ -5,7 +5,6 @@ use PHPUnit\Framework\TestCase; use setasign\Fpdi\Tcpdf\Fpdi; use Sprain\SwissQrBill\PaymentPart\Output\DisplayOptions; -use Sprain\SwissQrBill\PaymentPart\Output\VerticalSeparatorSymbolPosition; use Sprain\SwissQrBill\PaymentPart\Output\TcPdfOutput\TcPdfOutput; use Sprain\SwissQrBill\QrBill; use Sprain\SwissQrBill\QrCode\QrCode; diff --git a/tests/PaymentPart/Output/TcPdfOutput/TcPdfOutputTest.php b/tests/PaymentPart/Output/TcPdfOutput/TcPdfOutputTest.php index 6f87caa1..32c5b875 100644 --- a/tests/PaymentPart/Output/TcPdfOutput/TcPdfOutputTest.php +++ b/tests/PaymentPart/Output/TcPdfOutput/TcPdfOutputTest.php @@ -4,7 +4,6 @@ use PHPUnit\Framework\TestCase; use Sprain\SwissQrBill\PaymentPart\Output\DisplayOptions; -use Sprain\SwissQrBill\PaymentPart\Output\VerticalSeparatorSymbolPosition; use Sprain\SwissQrBill\PaymentPart\Output\TcPdfOutput\TcPdfOutput; use Sprain\SwissQrBill\QrBill; use Sprain\SwissQrBill\QrCode\QrCode;