<?php
namespace AppBundle\Controller\Prismic;
use AppBundle\Prismic\FeaturedMovieRepository;
use Sensio\Bundle\FrameworkExtraBundle\Configuration\Route;
use Sensio\Bundle\FrameworkExtraBundle\Configuration\Template;
use Symfony\Component\HttpFoundation\Request;
use Symfony\Bundle\FrameworkBundle\Controller\Controller;
/**
* @Route("/featured")
*/
class FeaturedMovieController extends Controller
{
/**
* @var FeaturedMovieRepository
*/
private $repository;
/**
* @param FeaturedMovieRepository $featuredMovieRepository
*/
public function __construct(FeaturedMovieRepository $featuredMovieRepository)
{
$this->repository = $featuredMovieRepository;
}
/**
* @Route("/", name="featured_movie_index")
* @Template("featured_movie/index.html.twig")
*
* @return array
*/
public function index(Request $request): array
{
$pageSize = 20;
$page = $request->query->get('page', 1);
return [
'featuredMovies' => $this->repository->findAllOrderedByPublicationDate($pageSize,$page),
];
}
/**
* @Route("/{uid}", name="featured_movie_show")
* @Template("featured_movie/show.html.twig")
*
* @return array
*/
public function show(string $uid): array
{
return [
'featuredMovie' => $this->repository->findOneByUid($uid),
];
}
}