src/Twig/GetCommentsBanners.php line 32

Open in your IDE?
  1. <?php
  2. declare(strict_types=1);
  3. namespace Slivki\Twig;
  4. use Slivki\Services\BannerService;
  5. use Slivki\Services\City\CityProvider;
  6. use Slivki\Services\DeviceTypeService;
  7. use Symfony\Component\HttpFoundation\RequestStack;
  8. use Twig\Extension\RuntimeExtensionInterface;
  9. final class GetCommentsBanners implements RuntimeExtensionInterface
  10. {
  11.     private BannerService $bannerService;
  12.     private CityProvider $cityProvider;
  13.     private DeviceTypeService $deviceTypeService;
  14.     private RequestStack $requestStack;
  15.     public function __construct(
  16.         BannerService $bannerService,
  17.         CityProvider $cityProvider,
  18.         DeviceTypeService $deviceTypeService,
  19.         RequestStack $requestStack
  20.     ) {
  21.         $this->bannerService $bannerService;
  22.         $this->cityProvider $cityProvider;
  23.         $this->deviceTypeService $deviceTypeService;
  24.         $this->requestStack $requestStack;
  25.     }
  26.     public function getCommentsBanners(): array
  27.     {
  28.         return $this->bannerService->getCommentsBanners(
  29.             $this->deviceTypeService->isMobileDevice($this->requestStack->getMainRequest()),
  30.             $this->cityProvider->getCurrentCityId(),
  31.         );
  32.     }
  33. }