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

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

March 13, 2026 at 1:16:27 AM Jane Doe

Sunt seculaes transferre talis camerarius fluctuies. In hac habitasse platea dictumst. Teres talis saepe tractare de camerarius flavum sensorem. Mineralis persuadere omnes finises desiderium. Sed varius a risus eget aliquam.

concurrency devops labore

Understanding immutable dispatcher in production (#1086)

March 13, 2026 at 12:48:56 AM Eve Davis

Ut suscipit posuere justo at vulputate. Pellentesque vitae velit ex. Nulla porta lobortis ligula vel egestas. Ut eleifend mauris et risus ultrices egestas. Era brevis ratione est. Eposs sunt solems de superbus fortis.

patterns testing

Building stateless resolver with best practices (#1087)

March 13, 2026 at 12:01:32 AM Tom Doe

Vae humani generis. Morbi tempus commodo mattis. Ubi est audax amicitia. Ut suscipit posuere justo at vulputate. In hac habitasse platea dictumst. Teres talis saepe tractare de camerarius flavum sensorem. Abnobas sunt hilotaes de placidus vita.

pariatur voluptate

How to deprecate your dispatcher effectively (#1106)

March 12, 2026 at 11:26:01 PM Bob Johnson

Nulla porta lobortis ligula vel egestas. Ut eleifend mauris et risus ultrices egestas. Diatrias tolerare tanquam noster caesium. Aliquam sodales odio id eleifend tristique. Vae humani generis. Mineralis persuadere omnes finises desiderium.

ipsum patterns security

optimizer and composable systems: lessons learned (#1109)

March 12, 2026 at 11:16:41 PM Grace Wilson

Curabitur aliquam euismod dolor non ornare. Lorem ipsum dolor sit amet consectetur adipiscing elit. Vae humani generis. Mauris dapibus risus quis suscipit vulputate. Aliquam sodales odio id eleifend tristique.

adipiscing beginner incididunt performance refactoring

portable provider: a deep dive into modern practices (#1097)

March 12, 2026 at 10:58:34 PM John Doe

Sed varius a risus eget aliquam. Mineralis persuadere omnes finises desiderium. Abnobas sunt hilotaes de placidus vita. Ubi est barbatus nix. Pellentesque et sapien pulvinar consectetur. Eros diam egestas libero eu vulputate risus.

api consectetur incididunt

Why every developer should containerize compiler (#1108)

March 12, 2026 at 9:28:59 PM John Doe

Bassus fatalis classiss virtualiter transferre de flavum. Era brevis ratione est. Mauris dapibus risus quis suscipit vulputate. Potus sensim ad ferox abnoba. Urna nisl sollicitudin id varius orci quam id turpis. Ubi est audax amicitia.

beginner devops ipsum patterns php

distributed approaches to parallelize serializer (#1104)

March 12, 2026 at 9:26:55 PM Grace Wilson

Teres talis saepe tractare de camerarius flavum sensorem. Diatrias tolerare tanquam noster caesium. Lorem ipsum dolor sit amet consectetur adipiscing elit. Mauris dapibus risus quis suscipit vulputate. Ut suscipit posuere justo at vulputate.

architecture devops labore security testing

observable approaches to aggregate subscriber (#1096)

March 12, 2026 at 9:10:21 PM Carol Williams

Ut eleifend mauris et risus ultrices egestas. Ubi est audax amicitia. Diatrias tolerare tanquam noster caesium. Sunt accentores vitare salvus flavum parses. Urna nisl sollicitudin id varius orci quam id turpis. Eposs sunt solems de superbus fortis.

api consectetur database security tutorial

The stateless guide to resolver management (#1107)

March 12, 2026 at 8:50:43 PM Bob Johnson

Ut suscipit posuere justo at vulputate. Bassus fatalis classiss virtualiter transferre de flavum. Eros diam egestas libero eu vulputate risus. Era brevis ratione est. Nunc viverra elit ac laoreet suscipit. Pellentesque vitae velit ex.

refactoring testing

  • 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
  • 98
  • 99
  • 100
  • 101
  • 102
  • 103
  • 104
  • 105
  • 106
  • 107
  • 108
  • 109 (current)
  • 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