murph-core/src/core/Twig/Extension/UrlExtension.php
2022-03-13 19:32:32 +01:00

35 lines
729 B
PHP

<?php
namespace App\Core\Twig\Extension;
use App\Core\Site\SiteRequest;
use Symfony\Component\Routing\Generator\UrlGeneratorInterface;
use Twig\Extension\AbstractExtension;
use Twig\TwigFilter;
use App\Core\String\UrlBuilder;
class UrlExtension extends AbstractExtension
{
protected UrlBuilder $urlBuilder;
public function __construct(UrlBuilder $urlBuilder)
{
$this->urlBuilder = $urlBuilder;
}
/**
* {@inheritdoc}
*/
public function getFilters()
{
return [
new TwigFilter('murph_url', [$this, 'replaceUrl']),
];
}
public function replaceUrl(?string $content)
{
return $this->urlBuilder->replaceTags((string) $content);
}
}