ebs/src/Twig/ProductExtension.php
2023-12-21 08:49:38 +01:00

28 lines
629 B
PHP
Executable file

<?php
declare(strict_types=1);
namespace App\Twig;
use App\Entity\ImagesInterface;
use App\Entity\Product;
use League\Flysystem\FilesystemOperator;
use Twig\Extension\AbstractExtension;
class ProductExtension extends AbstractExtension implements FlysystemImagesInterface
{
public function __construct(
public readonly FilesystemOperator $productStorage,
) {
}
public function supports(ImagesInterface $entity): bool
{
return $entity instanceof Product;
}
public function getPublicUrl(string $image): ?string
{
return $this->productStorage->publicUrl($image);
}
}