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