2022-03-13 19:32:32 +01:00
|
|
|
<?php
|
|
|
|
|
|
|
|
namespace App\Core\Twig\Extension;
|
|
|
|
|
|
|
|
use App\Core\String\StringBuilder;
|
|
|
|
use Twig\Extension\AbstractExtension;
|
|
|
|
use Twig\TwigFilter;
|
|
|
|
|
|
|
|
class StringExtension extends AbstractExtension
|
|
|
|
{
|
2023-10-20 09:44:18 +02:00
|
|
|
public function __construct(protected StringBuilder $stringBuilder)
|
2022-03-13 19:32:32 +01:00
|
|
|
{
|
|
|
|
}
|
|
|
|
|
|
|
|
/**
|
|
|
|
* {@inheritdoc}
|
|
|
|
*/
|
|
|
|
public function getFilters()
|
|
|
|
{
|
|
|
|
return [
|
|
|
|
new TwigFilter('build_string', [$this, 'buildString']),
|
|
|
|
];
|
|
|
|
}
|
|
|
|
|
|
|
|
public function buildString(?string $format, $object): string
|
|
|
|
{
|
|
|
|
return $this->stringBuilder->build((string) $format, $object);
|
|
|
|
}
|
|
|
|
}
|