Mauris dapibus risus quis suscipit vulputate. Curabitur aliquam euismod dolor non ornare. Ubi est audax amicitia. Ut suscipit posuere justo at vulputate. Era brevis ratione est. Nunc viverra elit ac laoreet suscipit.
Teres talis saepe tractare de camerarius flavum sensorem. Urna nisl sollicitudin id varius orci quam id turpis. Pellentesque vitae velit ex. In hac habitasse platea dictumst. Diatrias tolerare tanquam noster caesium. Era brevis ratione est.
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(),
]);
}