fix: correctly implement abstract methods in filter handler

This commit is contained in:
2026-09-15 09:17:35 +02:00
parent 9072e764c0
commit 8e599a5dd7
+10 -7
View File
@@ -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
{