src/Controller/HomePageController.php line 17

Open in your IDE?
  1. <?php
  2. // src/Controller/HomePageController.php
  3. namespace App\Controller;
  4. use Symfony\Component\Routing\Annotation\Route;
  5. use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
  6. use Symfony\Contracts\Cache\CacheInterface;
  7. use Symfony\Contracts\Cache\ItemInterface;
  8. use App\Repository\HomepageRepository;
  9. use App\Repository\PostRepository;
  10. class HomePageController extends AbstractController
  11. {
  12.     /**
  13.     * @Route("/", name="show_home_page")
  14.     */
  15.     public function show(HomepageRepository $homepageRepoPostRepository $postRepoCacheInterface $cache)
  16.     {
  17.         
  18.         $post $cache->get('home_page', function (itemInterface $item) use ($homepageRepo) {
  19.             $item->expiresAfter(31536000);
  20.             return $homepageRepo->findOneBy(array('publish' => true));
  21.         });
  22.         
  23.         if(!$post){
  24.             throw $this->createNotFoundException();
  25.         }
  26.         return $this->render('homepage/homepage.html.twig', array('post' => $post));
  27.     }
  28. }