Eposs sunt solems de superbus fortis. Urna nisl sollicitudin id varius orci quam id turpis. Diatrias tolerare tanquam noster caesium. Ubi est barbatus nix. Sed varius a risus eget aliquam. Aliquam sodales odio id eleifend tristique.
Mauris dapibus risus quis suscipit vulputate. Mineralis persuadere omnes finises desiderium. Ut suscipit posuere justo at vulputate. Curabitur aliquam euismod dolor non ornare. Aliquam sodales odio id eleifend tristique. Ubi est audax amicitia.
/**
* NOTE: For standard formats, Symfony will also automatically choose the best
* Content-Type header for the response.
*
* See https://symfony.com/doc/current/routing.html#special-parameters
*/
#[Route('/', name: 'blog_index', defaults: ['page' => '1', '_format' => 'html'], methods: ['GET'])]
#[Route('/rss.xml', name: 'blog_rss', defaults: ['page' => '1', '_format' => 'xml'], methods: ['GET'])]
#[Route('/page/{page}', name: 'blog_index_paginated', defaults: ['_format' => 'html'], requirements: ['page' => Requirement::POSITIVE_INT], methods: ['GET'])]
#[Cache(smaxage: 10)]
public function index(Request $request, int $page, string $_format, PostRepository $posts, TagRepository $tags): Response
{
$tag = null;
if ($request->query->has('tag')) {
$tag = $tags->findOneBy(['name' => $request->query->get('tag')]);
}
$latestPosts = $posts->findLatest($page, $tag);
// Every template name also has two extensions that specify the format and
// engine for that template.
// See https://symfony.com/doc/current/templates.html#template-naming
return $this->render('blog/index.'.$_format.'.twig', [
'paginator' => $latestPosts,
'tagName' => $tag?->getName(),
]);
}