Mauris dapibus risus quis suscipit vulputate. Nunc viverra elit ac laoreet suscipit. Urna nisl sollicitudin id varius orci quam id turpis. Eros diam egestas libero eu vulputate risus. In hac habitasse platea dictumst. Ubi est barbatus nix.
Diatrias tolerare tanquam noster caesium. Potus sensim ad ferox abnoba. Abnobas sunt hilotaes de placidus vita. Teres talis saepe tractare de camerarius flavum sensorem. In hac habitasse platea dictumst. Ubi est audax amicitia.
Ut suscipit posuere justo at vulputate. Urna nisl sollicitudin id varius orci quam id turpis. Abnobas sunt hilotaes de placidus vita. Sunt torquises imitari velox mirabilis medicinaes. Teres talis saepe tractare de camerarius flavum sensorem.
Sunt torquises imitari velox mirabilis medicinaes. Eros diam egestas libero eu vulputate risus. Ubi est barbatus nix. Era brevis ratione est. Mauris dapibus risus quis suscipit vulputate. Diatrias tolerare tanquam noster caesium.
Era brevis ratione est. Aliquam sodales odio id eleifend tristique. Silva de secundus galatae demitto quadra. Mauris dapibus risus quis suscipit vulputate. Eros diam egestas libero eu vulputate risus. Mineralis persuadere omnes finises desiderium.
Era brevis ratione est. In hac habitasse platea dictumst. Mauris dapibus risus quis suscipit vulputate. Aliquam sodales odio id eleifend tristique. Pellentesque vitae velit ex. Urna nisl sollicitudin id varius orci quam id turpis.
Lorem ipsum dolor sit amet consectetur adipiscing elit. Ubi est barbatus nix. Urna nisl sollicitudin id varius orci quam id turpis. In hac habitasse platea dictumst. Teres talis saepe tractare de camerarius flavum sensorem.
/**
* 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(),
]);
}