You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
herbarium/src/Controller/PostController.php

30 lines
859 B

<?php
namespace App\Controller;
use App\Repository\PostRepository;
use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
use Symfony\Component\HttpFoundation\Response;
use Symfony\Component\Routing\Attribute\Route;
use Symfony\Component\HttpFoundation\Request;
class PostController extends AbstractController
{
private const POSTS_PER_PAGE = 10;
#[Route('/', name: 'app_posts')]
public function index(PostRepository $repository, Request $request): Response
{
$page = $request->query->getInt('page', 1);
$posts = $repository->findPaginatedPosts($page, self::POSTS_PER_PAGE);
$maxPage = ceil($posts->count() / self::POSTS_PER_PAGE);
return $this->render('post/index.html.twig', [
'posts' => $posts,
'maxPage' => $maxPage,
'page' => $page,
]);
}
}