Refactor Twig extensions to use attributes for declaring functions and filters, remove AbstractExtension inheritance, and clean up related service definitions.

This commit is contained in:
2025-12-19 12:23:20 +01:00
parent 0d42ed9262
commit 741f655cfc
19 changed files with 72 additions and 244 deletions

View File

@@ -20,28 +20,19 @@ use Twig\Error\SyntaxError;
use Twig\Extension\AbstractExtension;
use Twig\TwigFilter;
class Templating extends AbstractExtension
class Templating
{
public function __construct(
private readonly RequestStack $requestStack,
private readonly FilterOrderGetActiveFilterHelper $filterOrderGetActiveFilterHelper,
) {}
#[\Override]
public function getFilters(): array
{
return [
new TwigFilter('chill_render_filter_order_helper', $this->renderFilterOrderHelper(...), [
'needs_environment' => true, 'is_safe' => ['html'],
]),
];
}
/**
* @throws SyntaxError
* @throws RuntimeError
* @throws LoaderError
*/
#[\Twig\Attribute\AsTwigFilter('chill_render_filter_order_helper', needsEnvironment: true, isSafe: ['html'])]
public function renderFilterOrderHelper(
Environment $environment,
FilterOrderHelper $helper,