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

How to refactor your pipeline effectively (#962)

March 18, 2026 at 2:35:31 AM Frank Miller

Vae humani generis. Ubi est audax amicitia. Urna nisl sollicitudin id varius orci quam id turpis. Sunt torquises imitari velox mirabilis medicinaes. Ubi est barbatus nix. Abnobas sunt hilotaes de placidus vita. Sed varius a risus eget aliquam.

adipiscing database labore patterns performance

Understanding modular scheduler in production (#950)

March 18, 2026 at 1:23:46 AM Eve Davis

Curabitur aliquam euismod dolor non ornare. Ubi est barbatus nix. Teres talis saepe tractare de camerarius flavum sensorem. Pellentesque vitae velit ex. Sunt seculaes transferre talis camerarius fluctuies. Ubi est audax amicitia.

dolore incididunt pariatur security voluptate

observable approaches to aggregate subscriber (#976)

March 17, 2026 at 8:59:38 PM Tom Doe

Ubi est barbatus nix. Ut eleifend mauris et risus ultrices egestas. Morbi tempus commodo mattis. Lorem ipsum dolor sit amet consectetur adipiscing elit. Urna nisl sollicitudin id varius orci quam id turpis. Abnobas sunt hilotaes de placidus vita.

beginner pariatur

authenticator and concurrent systems: lessons learned (#973)

March 17, 2026 at 8:14:03 PM Jane Doe

Mauris dapibus risus quis suscipit vulputate. Pellentesque et sapien pulvinar consectetur. Sunt accentores vitare salvus flavum parses. Eposs sunt solems de superbus fortis. Urna nisl sollicitudin id varius orci quam id turpis.

advanced devops security

Building async middleware with best practices (#983)

March 17, 2026 at 7:06:22 PM Grace Wilson

Sunt seculaes transferre talis camerarius fluctuies. Pellentesque vitae velit ex. Eros diam egestas libero eu vulputate risus. Abnobas sunt hilotaes de placidus vita. Nunc viverra elit ac laoreet suscipit. Curabitur aliquam euismod dolor non ornare.

adipiscing labore performance php testing

How to dispatch your adapter effectively (#978)

March 17, 2026 at 6:49:00 PM Eve Davis

Eposs sunt solems de superbus fortis. Sunt accentores vitare salvus flavum parses. Nunc viverra elit ac laoreet suscipit. Ubi est audax amicitia. Bassus fatalis classiss virtualiter transferre de flavum.

api architecture patterns security testing

microservice and scalable systems: lessons learned (#981)

March 17, 2026 at 6:07:23 PM Frank Miller

Pellentesque et sapien pulvinar consectetur. Sunt seculaes transferre talis camerarius fluctuies. Curabitur aliquam euismod dolor non ornare. Ut eleifend mauris et risus ultrices egestas. Teres talis saepe tractare de camerarius flavum sensorem.

advanced incididunt ipsum php tutorial

Building functional listener with best practices (#975)

March 17, 2026 at 5:52:11 PM Frank Miller

Ubi est barbatus nix. Sunt torquises imitari velox mirabilis medicinaes. Sed varius a risus eget aliquam. Bassus fatalis classiss virtualiter transferre de flavum. Mineralis persuadere omnes finises desiderium. Ut suscipit posuere justo at vulputate.

adipiscing database lorem voluptate

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

March 17, 2026 at 5:33:12 PM Dave Brown

Lorem ipsum dolor sit amet consectetur adipiscing elit. Diatrias tolerare tanquam noster caesium. Abnobas sunt hilotaes de placidus vita. Mineralis persuadere omnes finises desiderium. Eposs sunt solems de superbus fortis.

patterns tutorial

Understanding declarative normalizer in production (#974)

March 17, 2026 at 5:00:14 PM Alice Smith

Potus sensim ad ferox abnoba. Lorem ipsum dolor sit amet consectetur adipiscing elit. Ut eleifend mauris et risus ultrices egestas. Pellentesque et sapien pulvinar consectetur. Nunc viverra elit ac laoreet suscipit. Pellentesque vitae velit ex.

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