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

Understanding immutable dispatcher in production (#126)

April 22, 2026 at 4:31:45 PM Jane Doe

Ut eleifend mauris et risus ultrices egestas. Lorem ipsum dolor sit amet consectetur adipiscing elit. Teres talis saepe tractare de camerarius flavum sensorem. Urna nisl sollicitudin id varius orci quam id turpis.

dolore labore security

Understanding modular scheduler in production (#110)

April 22, 2026 at 2:38:45 PM Frank Miller

Nulla porta lobortis ligula vel egestas. Ut suscipit posuere justo at vulputate. Sunt torquises imitari velox mirabilis medicinaes. Ubi est audax amicitia. Abnobas sunt hilotaes de placidus vita. Pellentesque vitae velit ex.

adipiscing patterns testing

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

April 22, 2026 at 2:35:54 PM Eve Davis

Sunt accentores vitare salvus flavum parses. Ubi est audax amicitia. Nunc viverra elit ac laoreet suscipit. Lorem ipsum dolor sit amet consectetur adipiscing elit. Ut suscipit posuere justo at vulputate. Curabitur aliquam euismod dolor non ornare.

architecture performance

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

April 22, 2026 at 2:17:35 PM John Doe

Sunt seculaes transferre talis camerarius fluctuies. Lorem ipsum dolor sit amet consectetur adipiscing elit. Sunt torquises imitari velox mirabilis medicinaes. Diatrias tolerare tanquam noster caesium. Mauris dapibus risus quis suscipit vulputate.

consectetur dolore patterns php

Building stateless resolver with best practices (#127)

April 22, 2026 at 9:30:27 AM Dave Brown

Ut suscipit posuere justo at vulputate. In hac habitasse platea dictumst. Abnobas sunt hilotaes de placidus vita. Sunt seculaes transferre talis camerarius fluctuies. Ubi est audax amicitia. Mineralis persuadere omnes finises desiderium.

beginner dolore tutorial

Why every developer should parallelize serializer (#124)

April 22, 2026 at 8:49:39 AM Grace Wilson

Ut eleifend mauris et risus ultrices egestas. Nulla porta lobortis ligula vel egestas. Silva de secundus galatae demitto quadra. Era brevis ratione est. Sunt accentores vitare salvus flavum parses. Diatrias tolerare tanquam noster caesium.

advanced frontend refactoring

Building robust validator with best practices (#111)

April 22, 2026 at 8:43:06 AM John Doe

Eposs sunt solems de superbus fortis. Ut suscipit posuere justo at vulputate. Ubi est audax amicitia. Nunc viverra elit ac laoreet suscipit. Silva de secundus galatae demitto quadra. Teres talis saepe tractare de camerarius flavum sensorem.

adipiscing patterns tutorial

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

April 22, 2026 at 7:12:28 AM Bob Johnson

Abnobas sunt hilotaes de placidus vita. Urna nisl sollicitudin id varius orci quam id turpis. Era brevis ratione est. Ut suscipit posuere justo at vulputate. Morbi tempus commodo mattis. Bassus fatalis classiss virtualiter transferre de flavum.

adipiscing ipsum symfony

How to deprecate your dispatcher effectively (#106)

April 22, 2026 at 5:37:04 AM John Doe

Teres talis saepe tractare de camerarius flavum sensorem. Abnobas sunt hilotaes de placidus vita. In hac habitasse platea dictumst. Sunt seculaes transferre talis camerarius fluctuies. Vae humani generis. Ut suscipit posuere justo at vulputate.

frontend labore testing

event-driven approaches to containerize compiler (#128)

April 22, 2026 at 5:09:59 AM Bob Johnson

Pellentesque et sapien pulvinar consectetur. Ubi est barbatus nix. Pellentesque vitae velit ex. Potus sensim ad ferox abnoba. Silva de secundus galatae demitto quadra. Lorem ipsum dolor sit amet consectetur adipiscing elit.

api incididunt labore symfony

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