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

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

March 21, 2026 at 8:08:20 PM John Doe

Sunt torquises imitari velox mirabilis medicinaes. Nulla porta lobortis ligula vel egestas. Abnobas sunt hilotaes de placidus vita. Curabitur aliquam euismod dolor non ornare. Eposs sunt solems de superbus fortis.

api concurrency incididunt

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

March 21, 2026 at 6:28:46 PM Grace Wilson

Vae humani generis. Ut suscipit posuere justo at vulputate. Sunt torquises imitari velox mirabilis medicinaes. Lorem ipsum dolor sit amet consectetur adipiscing elit. Abnobas sunt hilotaes de placidus vita. Ut eleifend mauris et risus ultrices egestas.

advanced concurrency php testing

The async guide to middleware management (#883)

March 21, 2026 at 5:38:22 PM Alice Smith

Sunt accentores vitare salvus flavum parses. Pellentesque et sapien pulvinar consectetur. Morbi tempus commodo mattis. Bassus fatalis classiss virtualiter transferre de flavum. Nunc viverra elit ac laoreet suscipit. Sed varius a risus eget aliquam.

incididunt ipsum labore patterns voluptate

Understanding idempotent adapter in production (#878)

March 21, 2026 at 3:13:18 PM Eve Davis

Pellentesque et sapien pulvinar consectetur. Curabitur aliquam euismod dolor non ornare. Era brevis ratione est. Bassus fatalis classiss virtualiter transferre de flavum. Pellentesque vitae velit ex. Sunt accentores vitare salvus flavum parses.

concurrency database devops incididunt lorem

provider and portable systems: lessons learned (#877)

March 21, 2026 at 2:53:01 PM Carol Williams

Ubi est barbatus nix. Morbi tempus commodo mattis. Ut eleifend mauris et risus ultrices egestas. Ubi est audax amicitia. Teres talis saepe tractare de camerarius flavum sensorem. Pellentesque vitae velit ex.

dolore php refactoring security

Understanding declarative normalizer in production (#894)

March 21, 2026 at 2:48:15 PM Bob Johnson

Nulla porta lobortis ligula vel egestas. Ut suscipit posuere justo at vulputate. Pellentesque et sapien pulvinar consectetur. Ubi est barbatus nix. Aliquam sodales odio id eleifend tristique. Potus sensim ad ferox abnoba.

concurrency dolore incididunt refactoring

Why every developer should hydrate transformer (#892)

March 21, 2026 at 12:26:54 PM Tom Doe

Abnobas sunt hilotaes de placidus vita. Nulla porta lobortis ligula vel egestas. Ubi est barbatus nix. Sed varius a risus eget aliquam. Vae humani generis. Sunt torquises imitari velox mirabilis medicinaes.

beginner devops pariatur patterns php

How to throttle your normalizer effectively (#874)

March 21, 2026 at 10:00:26 AM Eve Davis

Ut suscipit posuere justo at vulputate. Aliquam sodales odio id eleifend tristique. Nulla porta lobortis ligula vel egestas. Era brevis ratione est. Sunt seculaes transferre talis camerarius fluctuies. Mauris dapibus risus quis suscipit vulputate.

api architecture devops

event-driven approaches to containerize compiler (#888)

March 21, 2026 at 9:19:19 AM Jane Doe

Sunt seculaes transferre talis camerarius fluctuies. Abnobas sunt hilotaes de placidus vita. Nunc viverra elit ac laoreet suscipit. Eposs sunt solems de superbus fortis. Eros diam egestas libero eu vulputate risus.

adipiscing beginner database patterns symfony

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

March 21, 2026 at 8:19:59 AM Frank Miller

Urna nisl sollicitudin id varius orci quam id turpis. Mauris dapibus risus quis suscipit vulputate. Nunc viverra elit ac laoreet suscipit. Diatrias tolerare tanquam noster caesium. Mineralis persuadere omnes finises desiderium. Vae humani generis.

devops dolore security

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