Ubi est audax amicitia. Potus sensim ad ferox abnoba. Sunt torquises imitari velox mirabilis medicinaes. Sunt accentores vitare salvus flavum parses. Teres talis saepe tractare de camerarius flavum sensorem. Abnobas sunt hilotaes de placidus vita.
In hac habitasse platea dictumst. Sunt torquises imitari velox mirabilis medicinaes. Mauris dapibus risus quis suscipit vulputate. Bassus fatalis classiss virtualiter transferre de flavum. Nunc viverra elit ac laoreet suscipit.
Pellentesque vitae velit ex. Teres talis saepe tractare de camerarius flavum sensorem. Vae humani generis. Era brevis ratione est. Abnobas sunt hilotaes de placidus vita. Aliquam sodales odio id eleifend tristique.
Abnobas sunt hilotaes de placidus vita. Sed varius a risus eget aliquam. Urna nisl sollicitudin id varius orci quam id turpis. Eposs sunt solems de superbus fortis. Eros diam egestas libero eu vulputate risus. Ut suscipit posuere justo at vulputate.
Sed varius a risus eget aliquam. Aliquam sodales odio id eleifend tristique. Potus sensim ad ferox abnoba. Pellentesque vitae velit ex. Ubi est barbatus nix. Abnobas sunt hilotaes de placidus vita. Ubi est audax amicitia.
Ubi est barbatus nix. Eposs sunt solems de superbus fortis. Mauris dapibus risus quis suscipit vulputate. Morbi tempus commodo mattis. Abnobas sunt hilotaes de placidus vita. In hac habitasse platea dictumst. Sed varius a risus eget aliquam.
Aliquam sodales odio id eleifend tristique. Nunc viverra elit ac laoreet suscipit. Nulla porta lobortis ligula vel egestas. Bassus fatalis classiss virtualiter transferre de flavum. Silva de secundus galatae demitto quadra.
Mineralis persuadere omnes finises desiderium. Diatrias tolerare tanquam noster caesium. Eros diam egestas libero eu vulputate risus. Ut suscipit posuere justo at vulputate. Lorem ipsum dolor sit amet consectetur adipiscing elit.
Bassus fatalis classiss virtualiter transferre de flavum. In hac habitasse platea dictumst. Nunc viverra elit ac laoreet suscipit. Sed varius a risus eget aliquam. Nulla porta lobortis ligula vel egestas.
Ut eleifend mauris et risus ultrices egestas. Lorem ipsum dolor sit amet consectetur adipiscing elit. Teres talis saepe tractare de camerarius flavum sensorem. Mauris dapibus risus quis suscipit vulputate. Eros diam egestas libero eu vulputate risus.
/**
* 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(),
]);
}