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