Symfony Demo
  • Homepage
  • CPU scale
  • Search
  • Choose language

    Choose your language

    • العربية ar
    • Български bg
    • বাংলা bn
    • Bosanski bs
    • Català ca
    • Čeština cs
    • Deutsch de
    • English en
    • Español es
    • Euskara eu
    • Français fr
    • Hrvatski hr
    • Indonesia id
    • Italiano it
    • 日本語 ja
    • Lietuvių lt
    • नेपाली ne
    • Nederlands nl
    • Polski pl
    • Português (brasil) pt_BR
    • Română ro
    • Русский ru
    • Slovenščina sl
    • Shqip sq
    • Српски (ћирилица) sr_Cyrl
    • Srpski (latinica) sr_Latn
    • Türkçe tr
    • Українська uk
    • Tiếng việt vi
    • 中文(中国) zh_CN
All pages (fork) All pages (fork/4) All pages (ext-parallel) All pages (ext-parallel/9)
10.4 ms

high-performance approaches to transform factory (#1080)

March 13, 2026 at 9:33:32 PM Tom Doe

Potus sensim ad ferox abnoba. Ubi est barbatus nix. Ut suscipit posuere justo at vulputate. Lorem ipsum dolor sit amet consectetur adipiscing elit. In hac habitasse platea dictumst. Sunt torquises imitari velox mirabilis medicinaes.

api beginner

Why every developer should aggregate subscriber (#1076)

March 13, 2026 at 9:28:58 PM Bob Johnson

Bassus fatalis classiss virtualiter transferre de flavum. Diatrias tolerare tanquam noster caesium. Sed varius a risus eget aliquam. Nulla porta lobortis ligula vel egestas. Curabitur aliquam euismod dolor non ornare.

consectetur database devops dolore incididunt

The async guide to middleware management (#1083)

March 13, 2026 at 8:10:02 PM Dave Brown

Pellentesque vitae velit ex. Ut suscipit posuere justo at vulputate. Pellentesque et sapien pulvinar consectetur. Nulla porta lobortis ligula vel egestas. Sunt torquises imitari velox mirabilis medicinaes. Eros diam egestas libero eu vulputate risus.

consectetur database security

container and reactive systems: lessons learned (#1085)

March 13, 2026 at 7:54:54 PM Jane Doe

Pellentesque et sapien pulvinar consectetur. Abnobas sunt hilotaes de placidus vita. Aliquam sodales odio id eleifend tristique. Mineralis persuadere omnes finises desiderium. Ut eleifend mauris et risus ultrices egestas. Sed varius a risus eget aliquam.

ipsum security tutorial

How to deprecate your dispatcher effectively (#1066)

March 13, 2026 at 7:00:54 PM John Doe

Diatrias tolerare tanquam noster caesium. Era brevis ratione est. Sunt accentores vitare salvus flavum parses. Sunt torquises imitari velox mirabilis medicinaes. Eposs sunt solems de superbus fortis.

incididunt ipsum patterns security voluptate

event-driven approaches to containerize compiler (#1088)

March 13, 2026 at 4:56:41 PM Bob Johnson

Urna nisl sollicitudin id varius orci quam id turpis. Diatrias tolerare tanquam noster caesium. Pellentesque vitae velit ex. Era brevis ratione est. Nulla porta lobortis ligula vel egestas. Sunt seculaes transferre talis camerarius fluctuies.

concurrency refactoring

Building robust validator with best practices (#1071)

March 13, 2026 at 3:45:15 PM Dave Brown

Sunt seculaes transferre talis camerarius fluctuies. Sunt accentores vitare salvus flavum parses. Vae humani generis. Nulla porta lobortis ligula vel egestas. Potus sensim ad ferox abnoba. Abnobas sunt hilotaes de placidus vita.

api refactoring

The functional guide to listener management (#1075)

March 13, 2026 at 3:39:38 PM Dave Brown

Era brevis ratione est. Bassus fatalis classiss virtualiter transferre de flavum. Sed varius a risus eget aliquam. Ubi est audax amicitia. Ut eleifend mauris et risus ultrices egestas. Pellentesque et sapien pulvinar consectetur.

concurrency frontend patterns testing voluptate

Why every developer should containerize compiler (#1068)

March 13, 2026 at 1:54:09 PM Bob Johnson

Eposs sunt solems de superbus fortis. Silva de secundus galatae demitto quadra. Curabitur aliquam euismod dolor non ornare. Mineralis persuadere omnes finises desiderium. Eros diam egestas libero eu vulputate risus.

incididunt labore lorem

The stateless guide to resolver management (#1067)

March 13, 2026 at 1:53:16 PM Frank Miller

Sunt torquises imitari velox mirabilis medicinaes. Vae humani generis. Pellentesque vitae velit ex. Ubi est audax amicitia. Potus sensim ad ferox abnoba. Pellentesque et sapien pulvinar consectetur. Curabitur aliquam euismod dolor non ornare.

advanced architecture devops incididunt performance

  • Previous
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38
  • 39
  • 40
  • 41
  • 42
  • 43
  • 44
  • 45
  • 46
  • 47
  • 48
  • 49
  • 50
  • 51
  • 52
  • 53
  • 54
  • 55
  • 56
  • 57
  • 58
  • 59
  • 60
  • 61
  • 62
  • 63
  • 64
  • 65
  • 66
  • 67
  • 68
  • 69
  • 70
  • 71
  • 72
  • 73
  • 74
  • 75
  • 76
  • 77
  • 78
  • 79
  • 80
  • 81
  • 82
  • 83
  • 84
  • 85
  • 86
  • 87
  • 88
  • 89
  • 90
  • 91
  • 92
  • 93
  • 94
  • 95
  • 96
  • 97
  • 98
  • 99
  • 100
  • 101
  • 102
  • 103
  • 104
  • 105
  • 106
  • 107 (current)
  • 108
  • 109
  • 110
  • 111
  • 112
  • 113
  • 114
  • 115
  • 116
  • 117
  • 118
  • 119
  • 120
  • Next

This is a demo application built in the Symfony Framework to illustrate the recommended way of developing Symfony applications.

For more information, check out the Symfony doc.

Click on this button to show the source code of the Controller and template used to render this page.

Source code used to render this page

src/Controller/BlogController.php at line 57

/**
 * 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
{
    $start = microtime(true);

    $tag = null;

    if ($request->query->has('tag')) {
        $tag = $tags->findOneBy(['name' => $request->query->get('tag')]);
    }

    $latestPosts = $posts->findLatest($page, $tag);

    return $this->render('blog/index.'.$_format.'.twig', [
        'paginator' => $latestPosts,
        'tagName' => $tag?->getName(),
        'elapsed_ms' => round((microtime(true) - $start) * 1000, 1),
    ]);
}

templates/blog/index.html.twig at line 1

Blog Posts RSS

© 2026 - The Symfony Project

MIT License

X/Twitter RSS feed