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