From 8e599a5dd719b870128f84b08146c6672a89227d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bj=C3=B6rn=20Fromme?= Date: Tue, 15 Sep 2026 09:17:35 +0200 Subject: [PATCH] fix: correctly implement abstract methods in filter handler --- src/Service/Common/AbstractFilterHandler.php | 17 ++++++++++------- 1 file changed, 10 insertions(+), 7 deletions(-) diff --git a/src/Service/Common/AbstractFilterHandler.php b/src/Service/Common/AbstractFilterHandler.php index 53953cb..27cb986 100644 --- a/src/Service/Common/AbstractFilterHandler.php +++ b/src/Service/Common/AbstractFilterHandler.php @@ -11,7 +11,12 @@ use Symfony\Component\HttpFoundation\Session\SessionInterface; abstract class AbstractFilterHandler { protected string $namespace = 'filter:default'; - protected string $modelClass = AbstractFilterDto::class; + + /** + * The DTO a subclass builds. No default: AbstractFilterDto is abstract, so any value here + * would only fatal on instantiation - every handler declares its own. + */ + protected string $modelClass; public function __construct( protected readonly RequestStack $requestStack, @@ -29,6 +34,8 @@ abstract class AbstractFilterHandler public function setModelClass(string $modelClass): static { $this->modelClass = $modelClass; + + return $this; } public function handleRequest(FormInterface $form): AbstractFilterDto @@ -50,13 +57,9 @@ abstract class AbstractFilterHandler $this->getSession()->remove($this->namespace); } - public function getFilterSettings(): AbstractFilterDto - { - } + abstract public function getFilterSettings(): AbstractFilterDto; - protected function saveFilterSettings(AbstractFilterDto $filterDto): void - { - } + abstract protected function saveFilterSettings(AbstractFilterDto $filterDto): void; protected function getSession(): SessionInterface {