Vae humani generis. Eposs sunt solems de superbus fortis. Pellentesque vitae velit ex. Sed varius a risus eget aliquam. Era brevis ratione est. Nulla porta lobortis ligula vel egestas. Urna nisl sollicitudin id varius orci quam id turpis.
Ut suscipit posuere justo at vulputate. Teres talis saepe tractare de camerarius flavum sensorem. Eros diam egestas libero eu vulputate risus. Curabitur aliquam euismod dolor non ornare. Silva de secundus galatae demitto quadra.
Ceci est une application de démonstration construite avec le framework Symfony pour illustrer la façon recommandée de développer des applications Symfony.
/**
* 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(),
]);
}