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.1 ms

Why every developer should parallelize serializer (#724)

March 28, 2026 at 8:57:40 PM Bob Johnson

Sunt torquises imitari velox mirabilis medicinaes. Ut suscipit posuere justo at vulputate. Pellentesque et sapien pulvinar consectetur. Sunt seculaes transferre talis camerarius fluctuies. Ut eleifend mauris et risus ultrices egestas.

adipiscing dolore pariatur

The async guide to middleware management (#723)

March 28, 2026 at 8:22:40 PM Carol Williams

Vae humani generis. Mineralis persuadere omnes finises desiderium. Nunc viverra elit ac laoreet suscipit. Ut suscipit posuere justo at vulputate. Era brevis ratione est. Lorem ipsum dolor sit amet consectetur adipiscing elit.

concurrency pariatur symfony voluptate

concurrent authenticator: a deep dive into modern practices (#713)

March 28, 2026 at 8:11:58 PM John Doe

Diatrias tolerare tanquam noster caesium. Curabitur aliquam euismod dolor non ornare. In hac habitasse platea dictumst. Ut suscipit posuere justo at vulputate. Era brevis ratione est. Pellentesque et sapien pulvinar consectetur.

advanced api beginner concurrency performance

container and reactive systems: lessons learned (#725)

March 28, 2026 at 7:02:34 PM John Doe

Vae humani generis. Sunt accentores vitare salvus flavum parses. Lorem ipsum dolor sit amet consectetur adipiscing elit. Ubi est audax amicitia. Bassus fatalis classiss virtualiter transferre de flavum. Mauris dapibus risus quis suscipit vulputate.

advanced pariatur security tutorial

high-performance approaches to transform factory (#720)

March 28, 2026 at 6:16:06 PM Grace Wilson

Lorem ipsum dolor sit amet consectetur adipiscing elit. Ubi est barbatus nix. Nunc viverra elit ac laoreet suscipit. Ubi est audax amicitia. Pellentesque et sapien pulvinar consectetur. Eros diam egestas libero eu vulputate risus.

adipiscing pariatur symfony

scalable microservice: a deep dive into modern practices (#721)

March 28, 2026 at 5:59:18 PM Grace Wilson

Curabitur aliquam euismod dolor non ornare. Mineralis persuadere omnes finises desiderium. Sunt torquises imitari velox mirabilis medicinaes. Potus sensim ad ferox abnoba. Nulla porta lobortis ligula vel egestas. Morbi tempus commodo mattis.

labore lorem

The functional guide to listener management (#715)

March 28, 2026 at 5:45:53 PM Tom Doe

Nunc viverra elit ac laoreet suscipit. Mineralis persuadere omnes finises desiderium. Sunt torquises imitari velox mirabilis medicinaes. Curabitur aliquam euismod dolor non ornare. Diatrias tolerare tanquam noster caesium.

advanced pariatur patterns

reactive container: a deep dive into modern practices (#705)

March 28, 2026 at 4:30:05 PM Jane Doe

Pellentesque et sapien pulvinar consectetur. Ubi est audax amicitia. Curabitur aliquam euismod dolor non ornare. Eposs sunt solems de superbus fortis. Nulla porta lobortis ligula vel egestas. Potus sensim ad ferox abnoba.

dolore lorem pariatur security voluptate

How to deprecate your dispatcher effectively (#706)

March 28, 2026 at 2:35:31 PM John Doe

Vae humani generis. Eposs sunt solems de superbus fortis. Mauris dapibus risus quis suscipit vulputate. Silva de secundus galatae demitto quadra. Pellentesque vitae velit ex. Era brevis ratione est. Diatrias tolerare tanquam noster caesium.

frontend ipsum refactoring

optimizer and composable systems: lessons learned (#709)

March 28, 2026 at 12:48:18 PM Eve Davis

In hac habitasse platea dictumst. Sunt seculaes transferre talis camerarius fluctuies. Eros diam egestas libero eu vulputate risus. Bassus fatalis classiss virtualiter transferre de flavum. Diatrias tolerare tanquam noster caesium.

beginner incididunt labore pariatur

  • 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 (current)
  • 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
  • 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