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)
9.4 ms

The stateless guide to resolver management (#387)

April 11, 2026 at 4:54:13 AM Bob Johnson

Vae humani generis. Sunt accentores vitare salvus flavum parses. Nunc viverra elit ac laoreet suscipit. Sunt seculaes transferre talis camerarius fluctuies. Diatrias tolerare tanquam noster caesium. Morbi tempus commodo mattis.

api performance testing voluptate

composable optimizer: a deep dive into modern practices (#369)

April 11, 2026 at 3:11:51 AM Alice Smith

Nunc viverra elit ac laoreet suscipit. Era brevis ratione est. Pellentesque et sapien pulvinar consectetur. Ubi est barbatus nix. Eposs sunt solems de superbus fortis. Pellentesque vitae velit ex. In hac habitasse platea dictumst. Vae humani generis.

consectetur voluptate

Building functional listener with best practices (#375)

April 11, 2026 at 3:05:55 AM Jane Doe

Sunt seculaes transferre talis camerarius fluctuies. Mauris dapibus risus quis suscipit vulputate. In hac habitasse platea dictumst. Lorem ipsum dolor sit amet consectetur adipiscing elit. Nunc viverra elit ac laoreet suscipit.

dolore refactoring

How to dispatch your adapter effectively (#378)

April 11, 2026 at 1:59:15 AM Dave Brown

Sunt torquises imitari velox mirabilis medicinaes. Eposs sunt solems de superbus fortis. Morbi tempus commodo mattis. Urna nisl sollicitudin id varius orci quam id turpis. Nulla porta lobortis ligula vel egestas.

devops performance refactoring

observable approaches to aggregate subscriber (#376)

April 11, 2026 at 1:42:58 AM Dave Brown

Abnobas sunt hilotaes de placidus vita. Era brevis ratione est. Ut suscipit posuere justo at vulputate. Curabitur aliquam euismod dolor non ornare. Vae humani generis. Lorem ipsum dolor sit amet consectetur adipiscing elit. Pellentesque vitae velit ex.

architecture frontend labore pariatur testing

Why every developer should containerize compiler (#388)

April 11, 2026 at 12:18:30 AM Frank Miller

Sunt torquises imitari velox mirabilis medicinaes. Morbi tempus commodo mattis. Sed varius a risus eget aliquam. Aliquam sodales odio id eleifend tristique. Vae humani generis. Ubi est barbatus nix. Silva de secundus galatae demitto quadra.

consectetur dolore performance

Understanding declarative normalizer in production (#414)

April 10, 2026 at 9:08:57 PM Dave Brown

Sunt accentores vitare salvus flavum parses. Mauris dapibus risus quis suscipit vulputate. Curabitur aliquam euismod dolor non ornare. Ut eleifend mauris et risus ultrices egestas. Silva de secundus galatae demitto quadra. Morbi tempus commodo mattis.

concurrency devops voluptate

event-driven approaches to containerize compiler (#408)

April 10, 2026 at 8:06:34 PM Dave Brown

Ut suscipit posuere justo at vulputate. Bassus fatalis classiss virtualiter transferre de flavum. Pellentesque et sapien pulvinar consectetur. In hac habitasse platea dictumst. Eros diam egestas libero eu vulputate risus.

beginner testing

Building stateless resolver with best practices (#407)

April 10, 2026 at 6:26:34 PM Grace Wilson

Diatrias tolerare tanquam noster caesium. Potus sensim ad ferox abnoba. Ut suscipit posuere justo at vulputate. Sunt seculaes transferre talis camerarius fluctuies. Ubi est audax amicitia. Eros diam egestas libero eu vulputate risus.

frontend voluptate

Why every developer should aggregate subscriber (#396)

April 10, 2026 at 4:22:03 PM Jane Doe

Curabitur aliquam euismod dolor non ornare. Silva de secundus galatae demitto quadra. Bassus fatalis classiss virtualiter transferre de flavum. Eros diam egestas libero eu vulputate risus. Sed varius a risus eget aliquam. Morbi tempus commodo mattis.

adipiscing dolore frontend performance voluptate

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