src/Controller/AbstractController.php line 32

Open in your IDE?
  1. <?php
  2. declare(strict_types=1);
  3. namespace App\Controller;
  4. use Symfony\Bundle\FrameworkBundle\Controller\AbstractController as BaseAbstractController;
  5. use Symfony\Component\HttpFoundation\JsonResponse;
  6. use Symfony\Component\HttpFoundation\RequestStack;
  7. use Symfony\Component\HttpFoundation\Response;
  8. use Symfony\Component\Routing\Annotation\Route;
  9. use Symfony\Contracts\Service\Attribute\Required;
  10. class AbstractController extends BaseAbstractController
  11. {
  12.     protected RequestStack $requestStack;
  13.     #[Required]
  14.     public function setRequestStack(RequestStack $requestStack): AbstractController
  15.     {
  16.         $this->requestStack $requestStack;
  17.         return $this;
  18.     }
  19.     public function renderCached(string $view, callable $paramGeneratorint $ttl 3600): Response
  20.     {
  21.         $hash sha1(print_r($this->requestStack->getCurrentRequest()->attributes->all(), true));
  22.         $key 'tplxp:'.$view.':'.$hash;
  23.         //$response = apcu_fetch($key);
  24.         $response false;
  25.         if (!$response || isset($_GET['reset_apcu_cache'])) {
  26.             $response $this->render($view$paramGenerator());
  27.             //apcu_store($key, $response, $ttl);
  28.         }
  29.         return $response;
  30.     }
  31. }