src/CoreBundle/Component/Grid/GridFactory.php line 58

Open in your IDE?
  1. <?php
  2. declare(strict_types=1);
  3. namespace App\CoreBundle\Component\Grid;
  4. use App\CoreBundle\Component\Router\Security\RouteCsrfProtector;
  5. use Symfony\Component\HttpFoundation\RequestStack;
  6. use Symfony\Component\Routing\RouterInterface;
  7. use Twig_Environment;
  8. class GridFactory
  9. {
  10.     /**
  11.      * @var \Symfony\Component\HttpFoundation\RequestStack
  12.      */
  13.     protected $requestStack;
  14.     /**
  15.      * @var \Symfony\Component\Routing\RouterInterface
  16.      */
  17.     protected $router;
  18.     /**
  19.      * @var \App\CoreBundle\Component\Router\Security\RouteCsrfProtector
  20.      */
  21.     protected $routeCsrfProtector;
  22.     /**
  23.      * @var \Twig_Environment
  24.      */
  25.     protected $twig;
  26.     /**
  27.      * @param \Symfony\Component\HttpFoundation\RequestStack $requestStack
  28.      * @param \Symfony\Component\Routing\RouterInterface $router
  29.      * @param \App\CoreBundle\Component\Router\Security\RouteCsrfProtector $routeCsrfProtector
  30.      * @param \Twig_Environment $twig
  31.      */
  32.     public function __construct(
  33.         RequestStack $requestStack,
  34.         RouterInterface $router,
  35.         RouteCsrfProtector $routeCsrfProtector,
  36.         Twig_Environment $twig
  37.     ) {
  38.         $this->requestStack $requestStack;
  39.         $this->router $router;
  40.         $this->routeCsrfProtector $routeCsrfProtector;
  41.         $this->twig $twig;
  42.     }
  43.     /**
  44.      * @param string $gridId
  45.      * @param \App\CoreBundle\Component\Grid\DataSourceInterface $dataSource
  46.      * @throws \App\CoreBundle\Component\Grid\Exception\EmptyGridIdException
  47.      * @return \App\CoreBundle\Component\Grid\Grid
  48.      */
  49.     public function create($gridIdDataSourceInterface $dataSource)
  50.     {
  51.         return new Grid(
  52.             $gridId,
  53.             $dataSource,
  54.             $this->requestStack,
  55.             $this->router,
  56.             $this->routeCsrfProtector,
  57.             $this->twig
  58.         );
  59.     }
  60. }