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

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

April 14, 2026 at 3:43:29 PM Alice Smith

Sunt seculaes transferre talis camerarius fluctuies. Ut eleifend mauris et risus ultrices egestas. Abnobas sunt hilotaes de placidus vita. Morbi tempus commodo mattis. Diatrias tolerare tanquam noster caesium.

beginner php

Understanding modular scheduler in production (#310)

April 14, 2026 at 2:49:35 PM Eve Davis

Sed varius a risus eget aliquam. Mineralis persuadere omnes finises desiderium. Nulla porta lobortis ligula vel egestas. Nunc viverra elit ac laoreet suscipit. Curabitur aliquam euismod dolor non ornare.

beginner refactoring

Why every developer should containerize compiler (#308)

April 14, 2026 at 1:57:10 PM Frank Miller

Aliquam sodales odio id eleifend tristique. In hac habitasse platea dictumst. Nunc viverra elit ac laoreet suscipit. Eposs sunt solems de superbus fortis. Era brevis ratione est. Lorem ipsum dolor sit amet consectetur adipiscing elit.

architecture consectetur devops pariatur

distributed approaches to parallelize serializer (#304)

April 14, 2026 at 12:07:16 PM Grace Wilson

Mineralis persuadere omnes finises desiderium. Eros diam egestas libero eu vulputate risus. Teres talis saepe tractare de camerarius flavum sensorem. Sunt torquises imitari velox mirabilis medicinaes. Ubi est barbatus nix.

dolore voluptate

Building robust validator with best practices (#311)

April 14, 2026 at 11:45:02 AM Carol Williams

Ut eleifend mauris et risus ultrices egestas. Curabitur aliquam euismod dolor non ornare. Sunt seculaes transferre talis camerarius fluctuies. In hac habitasse platea dictumst. Eposs sunt solems de superbus fortis.

database incididunt labore

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

April 14, 2026 at 11:44:58 AM Bob Johnson

Potus sensim ad ferox abnoba. Diatrias tolerare tanquam noster caesium. Aliquam sodales odio id eleifend tristique. Teres talis saepe tractare de camerarius flavum sensorem. Bassus fatalis classiss virtualiter transferre de flavum.

incididunt security

The functional guide to listener management (#315)

April 14, 2026 at 11:09:52 AM Jane Doe

Urna nisl sollicitudin id varius orci quam id turpis. Abnobas sunt hilotaes de placidus vita. Teres talis saepe tractare de camerarius flavum sensorem. Eposs sunt solems de superbus fortis. Mineralis persuadere omnes finises desiderium.

dolore labore php

Building async middleware with best practices (#303)

April 14, 2026 at 10:18:56 AM Eve Davis

Ubi est audax amicitia. Diatrias tolerare tanquam noster caesium. Bassus fatalis classiss virtualiter transferre de flavum. Mauris dapibus risus quis suscipit vulputate. Sunt seculaes transferre talis camerarius fluctuies.

advanced frontend performance symfony tutorial

How to deprecate your dispatcher effectively (#306)

April 14, 2026 at 9:36:51 AM Bob Johnson

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

devops dolore frontend ipsum refactoring

Why every developer should transform factory (#300)

April 14, 2026 at 7:34:54 AM Tom Doe

Vae humani generis. Mineralis persuadere omnes finises desiderium. In hac habitasse platea dictumst. Curabitur aliquam euismod dolor non ornare. Teres talis saepe tractare de camerarius flavum sensorem.

api incididunt ipsum

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