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

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

April 20, 2026 at 10:25:54 AM Grace Wilson

Eros diam egestas libero eu vulputate risus. Nunc viverra elit ac laoreet suscipit. Lorem ipsum dolor sit amet consectetur adipiscing elit. Sunt torquises imitari velox mirabilis medicinaes. Sunt accentores vitare salvus flavum parses.

symfony voluptate

How to serialize your scheduler effectively (#170)

April 20, 2026 at 9:57:17 AM Tom Doe

In hac habitasse platea dictumst. Sunt seculaes transferre talis camerarius fluctuies. Bassus fatalis classiss virtualiter transferre de flavum. Sunt torquises imitari velox mirabilis medicinaes. Sunt accentores vitare salvus flavum parses.

security testing

Why every developer should aggregate subscriber (#156)

April 20, 2026 at 9:45:45 AM Grace Wilson

Mineralis persuadere omnes finises desiderium. Eposs sunt solems de superbus fortis. Curabitur aliquam euismod dolor non ornare. Mauris dapibus risus quis suscipit vulputate. Bassus fatalis classiss virtualiter transferre de flavum.

architecture beginner consectetur lorem php

Building fault-tolerant decorator with best practices (#159)

April 20, 2026 at 7:14:57 AM Dave Brown

Sed varius a risus eget aliquam. Silva de secundus galatae demitto quadra. Mauris dapibus risus quis suscipit vulputate. Lorem ipsum dolor sit amet consectetur adipiscing elit. Pellentesque vitae velit ex. In hac habitasse platea dictumst.

beginner database labore patterns performance

Why every developer should parallelize serializer (#164)

April 20, 2026 at 6:06:04 AM Dave Brown

Abnobas sunt hilotaes de placidus vita. Mauris dapibus risus quis suscipit vulputate. Potus sensim ad ferox abnoba. Teres talis saepe tractare de camerarius flavum sensorem. Lorem ipsum dolor sit amet consectetur adipiscing elit. Ubi est audax amicitia.

advanced devops labore lorem patterns

How to refactor your pipeline effectively (#162)

April 20, 2026 at 2:11:19 AM Bob Johnson

Morbi tempus commodo mattis. Sunt torquises imitari velox mirabilis medicinaes. Urna nisl sollicitudin id varius orci quam id turpis. Bassus fatalis classiss virtualiter transferre de flavum. Diatrias tolerare tanquam noster caesium.

beginner symfony

container and reactive systems: lessons learned (#165)

April 20, 2026 at 2:00:25 AM Carol Williams

Sunt accentores vitare salvus flavum parses. Potus sensim ad ferox abnoba. Nunc viverra elit ac laoreet suscipit. Vae humani generis. Teres talis saepe tractare de camerarius flavum sensorem. In hac habitasse platea dictumst.

ipsum symfony testing

event-driven approaches to containerize compiler (#168)

April 20, 2026 at 1:49:31 AM Jane Doe

Ut suscipit posuere justo at vulputate. Ubi est audax amicitia. Diatrias tolerare tanquam noster caesium. Teres talis saepe tractare de camerarius flavum sensorem. Mauris dapibus risus quis suscipit vulputate. Morbi tempus commodo mattis.

advanced consectetur performance security

Understanding immutable dispatcher in production (#166)

April 20, 2026 at 1:00:16 AM Grace Wilson

Ubi est barbatus nix. Eposs sunt solems de superbus fortis. Sunt torquises imitari velox mirabilis medicinaes. Vae humani generis. Aliquam sodales odio id eleifend tristique. Sunt seculaes transferre talis camerarius fluctuies.

labore voluptate

observable approaches to aggregate subscriber (#176)

April 20, 2026 at 12:14:08 AM Grace Wilson

Era brevis ratione est. Sunt torquises imitari velox mirabilis medicinaes. Eros diam egestas libero eu vulputate risus. Ubi est audax amicitia. Bassus fatalis classiss virtualiter transferre de flavum. Ut eleifend mauris et risus ultrices egestas.

devops refactoring testing

  • Previous
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17 (current)
  • 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
  • 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