Sunt accentores vitare salvus flavum parses. Ubi est audax amicitia. Ubi est barbatus nix. Le vacherin à la fraise, c'est pas bon. Ut suscipit posuere justo at vulputate. Vae humani generis. Nulla porta lobortis ligula vel egestas.
Ut suscipit posuere justo at vulputate. Il n'y a pas assez d'adhérent !. Nunc viverra elit ac laoreet suscipit. Bassus fatalis classiss virtualiter transferre de flavum. Aliquam sodales odio id eleifend tristique. Morbi tempus commodo mattis.
Sunt accentores vitare salvus flavum parses. Potus sensim ad ferox abnoba. Diatrias tolerare tanquam noster caesium. Et rameuter des bénévoles, au moins en ligne. Nunc viverra elit ac laoreet suscipit.
Sunt torquises imitari velox mirabilis medicinaes. Le vacherin à la fraise, c'est pas bon. Curabitur aliquam euismod dolor non ornare. Eposs sunt solems de superbus fortis. Morbi tempus commodo mattis. Il n'y a pas assez d'adhérent !.
Il n'y a pas assez d'adhérent !. Silva de secundus galatae demitto quadra. Ubi est barbatus nix. Morbi tempus commodo mattis. Vae humani generis. Ut eleifend mauris et risus ultrices egestas. Ubi est audax amicitia.
Nunc viverra elit ac laoreet suscipit. Silva de secundus galatae demitto quadra. Et rameuter des bénévoles, au moins en ligne. Aliquam sodales odio id eleifend tristique. Nulla porta lobortis ligula vel egestas. Curabitur aliquam euismod dolor non ornare.
Pellentesque et sapien pulvinar consectetur. Vae humani generis. Faut faire des affiches. Sed varius a risus eget aliquam. Et rameuter des bénévoles, au moins en ligne. Bassus fatalis classiss virtualiter transferre de flavum.
Ubi est audax amicitia. Bassus fatalis classiss virtualiter transferre de flavum. Eposs sunt solems de superbus fortis. Sunt seculaes transferre talis camerarius fluctuies. Le vacherin à la fraise, c'est pas bon.
/**
* 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(),
]);
}