From a6ed60462d0166c589ff28f0856710fee0619c94 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bj=C3=B6rn=20Fromme?= Date: Fri, 26 Jun 2026 17:20:11 +0200 Subject: [PATCH] refactor: inject AgeConstraintParserRegistry into TravelParser --- src/BusProNet/Traits/XmlParserTrait.php | 18 ------------------ src/BusProNet/XmlLoader/AbstractLoader.php | 13 +++++++++++-- src/BusProNet/XmlParser/TravelParser.php | 8 +++----- 3 files changed, 14 insertions(+), 25 deletions(-) delete mode 100644 src/BusProNet/Traits/XmlParserTrait.php diff --git a/src/BusProNet/Traits/XmlParserTrait.php b/src/BusProNet/Traits/XmlParserTrait.php deleted file mode 100644 index f8e0d6e..0000000 --- a/src/BusProNet/Traits/XmlParserTrait.php +++ /dev/null @@ -1,18 +0,0 @@ -count() ? $node->text() : null; - } - - protected function getIntOrNullValue(Crawler $node): ?int - { - return 0 < $node->count() ? (int) $node->text() : null; - } -} diff --git a/src/BusProNet/XmlLoader/AbstractLoader.php b/src/BusProNet/XmlLoader/AbstractLoader.php index 8b3d5b3..829cd8d 100644 --- a/src/BusProNet/XmlLoader/AbstractLoader.php +++ b/src/BusProNet/XmlLoader/AbstractLoader.php @@ -3,18 +3,27 @@ namespace App\BusProNet\XmlLoader; use App\BusProNet\Traits\TypeConversionTrait; -use App\BusProNet\Traits\XmlParserTrait; use League\Flysystem\FilesystemOperator; +use Symfony\Component\DomCrawler\Crawler; use Symfony\Contracts\Cache\CacheInterface; abstract class AbstractLoader { use TypeConversionTrait; - use XmlParserTrait; public function __construct( protected readonly CacheInterface $cache, protected readonly FilesystemOperator $xmlExport, ) { } + + protected function getStringOrNullValue(Crawler $node): ?string + { + return 0 < $node->count() ? $node->text() : null; + } + + protected function getIntOrNullValue(Crawler $node): ?int + { + return 0 < $node->count() ? (int) $node->text() : null; + } } diff --git a/src/BusProNet/XmlParser/TravelParser.php b/src/BusProNet/XmlParser/TravelParser.php index 00dad4a..8ef3657 100644 --- a/src/BusProNet/XmlParser/TravelParser.php +++ b/src/BusProNet/XmlParser/TravelParser.php @@ -22,8 +22,6 @@ use Symfony\Component\DomCrawler\Crawler; */ class TravelParser extends AbstractParser { - private AgeConstraintParserRegistry $ageConstraintRegistry; - /** * @var array */ @@ -31,9 +29,9 @@ class TravelParser extends AbstractParser Constants::PSEUDO_PRICE_ROOM_CODE, ]; - public function __construct() - { - $this->ageConstraintRegistry = new AgeConstraintParserRegistry(); + public function __construct( + private readonly AgeConstraintParserRegistry $ageConstraintRegistry = new AgeConstraintParserRegistry(), + ) { } /**