src/Twig/ResponsiveAssetExtension.php line 28

Open in your IDE?
  1. <?php
  2. /**
  3.  * Created by simpson <simpsonwork@gmail.com>
  4.  * Date: 11.12.2019
  5.  * Time: 15:32
  6.  */
  7. namespace App\Twig;
  8. use App\Service\ResponsiveAssetsService;
  9. use Twig\Extension\AbstractExtension;
  10. use Twig\TwigFunction;
  11. class ResponsiveAssetExtension extends AbstractExtension
  12. {
  13.     public function __construct(
  14.         private ResponsiveAssetsService $responsiveAssetsService
  15.     ) {}
  16.     public function getFunctions()
  17.     {
  18.         return [
  19.             new TwigFunction('responsive_asset', [$this'getResponsiveImageUrl']),
  20.             new TwigFunction('stream_asset', [$this'getStreamUrl']),
  21.         ];
  22.     }
  23.     public function getResponsiveImageUrl(string $pathstring $packageNamestring $presetNamestring $extension 'jpg'): string
  24.     {
  25.         return $this->responsiveAssetsService->getResponsiveImageUrl($path$packageName$presetName$extension);
  26.     }
  27.     public function getStreamUrl(string $pathstring $packageName): string
  28.     {
  29.         return $this->responsiveAssetsService->getStreamUrl($path$packageName);
  30.     }
  31. }