deblan.io-murph/core/Twig/Extension/UrlExtension.php

35 lines
729 B
PHP
Raw Normal View History

2021-05-29 12:53:48 +02:00
<?php
namespace App\Core\Twig\Extension;
2022-01-06 16:13:11 +01:00
use App\Core\Site\SiteRequest;
2021-05-29 12:53:48 +02:00
use Symfony\Component\Routing\Generator\UrlGeneratorInterface;
use Twig\Extension\AbstractExtension;
use Twig\TwigFilter;
2022-02-16 17:11:09 +01:00
use App\Core\String\UrlBuilder;
2021-05-29 12:53:48 +02:00
2021-06-16 18:41:05 +02:00
class UrlExtension extends AbstractExtension
2021-05-29 12:53:48 +02:00
{
2022-02-16 17:11:09 +01:00
protected UrlBuilder $urlBuilder;
2021-05-29 12:53:48 +02:00
2022-02-16 17:11:09 +01:00
public function __construct(UrlBuilder $urlBuilder)
2021-05-29 12:53:48 +02:00
{
2022-02-16 17:11:09 +01:00
$this->urlBuilder = $urlBuilder;
2021-05-29 12:53:48 +02:00
}
/**
* {@inheritdoc}
*/
public function getFilters()
{
return [
new TwigFilter('murph_url', [$this, 'replaceUrl']),
];
}
2021-06-16 18:41:05 +02:00
public function replaceUrl(?string $content)
2021-05-29 12:53:48 +02:00
{
2022-02-16 17:11:09 +01:00
return $this->urlBuilder->replaceTags((string) $content);
2021-05-29 12:53:48 +02:00
}
}