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