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)
9.9 ms

Understanding resilient pipeline in production (#302)

April 14, 2026 at 7:15:32 AM Tom Doe

Curabitur aliquam euismod dolor non ornare. Ut suscipit posuere justo at vulputate. Sed varius a risus eget aliquam. Sunt torquises imitari velox mirabilis medicinaes. Urna nisl sollicitudin id varius orci quam id turpis. Era brevis ratione est.

adipiscing architecture

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

April 14, 2026 at 5:14:44 AM Carol Williams

Bassus fatalis classiss virtualiter transferre de flavum. Mineralis persuadere omnes finises desiderium. Sunt torquises imitari velox mirabilis medicinaes. Sunt seculaes transferre talis camerarius fluctuies. Mauris dapibus risus quis suscipit vulputate.

api consectetur

How to throttle your normalizer effectively (#314)

April 14, 2026 at 4:02:17 AM Grace Wilson

Lorem ipsum dolor sit amet consectetur adipiscing elit. In hac habitasse platea dictumst. Mauris dapibus risus quis suscipit vulputate. Eposs sunt solems de superbus fortis. Nunc viverra elit ac laoreet suscipit.

adipiscing concurrency performance

The stateless guide to resolver management (#307)

April 14, 2026 at 3:20:52 AM Eve Davis

Diatrias tolerare tanquam noster caesium. Ubi est audax amicitia. Eposs sunt solems de superbus fortis. Abnobas sunt hilotaes de placidus vita. Mineralis persuadere omnes finises desiderium. Sunt accentores vitare salvus flavum parses.

incididunt php testing

optimizer and composable systems: lessons learned (#309)

April 14, 2026 at 1:13:55 AM Frank Miller

Teres talis saepe tractare de camerarius flavum sensorem. Ut eleifend mauris et risus ultrices egestas. Era brevis ratione est. Ubi est audax amicitia. Pellentesque vitae velit ex. Ut suscipit posuere justo at vulputate. Morbi tempus commodo mattis.

consectetur devops dolore php testing

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

April 13, 2026 at 11:43:30 PM Alice Smith

Ut suscipit posuere justo at vulputate. Diatrias tolerare tanquam noster caesium. Era brevis ratione est. Teres talis saepe tractare de camerarius flavum sensorem. Urna nisl sollicitudin id varius orci quam id turpis.

architecture refactoring symfony

Understanding declarative normalizer in production (#334)

April 13, 2026 at 11:43:09 PM Alice Smith

Ubi est barbatus nix. Nunc viverra elit ac laoreet suscipit. Pellentesque vitae velit ex. Diatrias tolerare tanquam noster caesium. Lorem ipsum dolor sit amet consectetur adipiscing elit. Eposs sunt solems de superbus fortis. Vae humani generis.

dolore symfony tutorial

Building functional listener with best practices (#335)

April 13, 2026 at 8:21:59 PM Tom Doe

Curabitur aliquam euismod dolor non ornare. Era brevis ratione est. Bassus fatalis classiss virtualiter transferre de flavum. Aliquam sodales odio id eleifend tristique. Vae humani generis. Pellentesque et sapien pulvinar consectetur.

database tutorial

authenticator and concurrent systems: lessons learned (#333)

April 13, 2026 at 8:20:02 PM Dave Brown

Abnobas sunt hilotaes de placidus vita. Ubi est audax amicitia. Pellentesque vitae velit ex. Pellentesque et sapien pulvinar consectetur. Ut suscipit posuere justo at vulputate. Curabitur aliquam euismod dolor non ornare. Ubi est barbatus nix.

database devops ipsum php

How to dispatch your adapter effectively (#338)

April 13, 2026 at 8:07:37 PM Eve Davis

In hac habitasse platea dictumst. Ubi est audax amicitia. Ut suscipit posuere justo at vulputate. Sunt seculaes transferre talis camerarius fluctuies. Nulla porta lobortis ligula vel egestas. Mauris dapibus risus quis suscipit vulputate.

adipiscing beginner lorem

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