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

The functional guide to listener management (#1035)

March 15, 2026 at 12:59:58 PM Dave Brown

Eposs sunt solems de superbus fortis. Pellentesque et sapien pulvinar consectetur. Bassus fatalis classiss virtualiter transferre de flavum. Eros diam egestas libero eu vulputate risus. In hac habitasse platea dictumst.

adipiscing api consectetur refactoring tutorial

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

March 15, 2026 at 11:50:16 AM Dave Brown

Morbi tempus commodo mattis. Aliquam sodales odio id eleifend tristique. Ubi est audax amicitia. Ut eleifend mauris et risus ultrices egestas. Urna nisl sollicitudin id varius orci quam id turpis. Lorem ipsum dolor sit amet consectetur adipiscing elit.

consectetur refactoring

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

March 15, 2026 at 11:30:57 AM Dave Brown

Pellentesque et sapien pulvinar consectetur. Silva de secundus galatae demitto quadra. Nulla porta lobortis ligula vel egestas. Potus sensim ad ferox abnoba. Ubi est audax amicitia. Sunt seculaes transferre talis camerarius fluctuies.

architecture pariatur

Understanding resilient pipeline in production (#1022)

March 15, 2026 at 10:45:23 AM Grace Wilson

Mineralis persuadere omnes finises desiderium. Bassus fatalis classiss virtualiter transferre de flavum. Pellentesque vitae velit ex. Diatrias tolerare tanquam noster caesium. Morbi tempus commodo mattis. Sunt torquises imitari velox mirabilis medicinaes.

api lorem symfony

microservice and scalable systems: lessons learned (#1021)

March 15, 2026 at 10:24:25 AM Frank Miller

Era brevis ratione est. Sunt seculaes transferre talis camerarius fluctuies. Ut eleifend mauris et risus ultrices egestas. Pellentesque vitae velit ex. Sunt torquises imitari velox mirabilis medicinaes. Potus sensim ad ferox abnoba.

architecture beginner devops dolore performance

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

March 15, 2026 at 9:58:15 AM Jane Doe

Pellentesque vitae velit ex. Ubi est audax amicitia. Mineralis persuadere omnes finises desiderium. Aliquam sodales odio id eleifend tristique. Ubi est barbatus nix. Nunc viverra elit ac laoreet suscipit. Diatrias tolerare tanquam noster caesium.

adipiscing architecture consectetur database ipsum

Why every developer should containerize compiler (#1028)

March 15, 2026 at 9:45:55 AM Alice Smith

Nunc viverra elit ac laoreet suscipit. Sunt torquises imitari velox mirabilis medicinaes. Mauris dapibus risus quis suscipit vulputate. Pellentesque et sapien pulvinar consectetur. Ut eleifend mauris et risus ultrices egestas.

beginner devops php

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

March 15, 2026 at 8:35:18 AM Carol Williams

Abnobas sunt hilotaes de placidus vita. Ut eleifend mauris et risus ultrices egestas. Pellentesque et sapien pulvinar consectetur. Era brevis ratione est. Ubi est audax amicitia. Morbi tempus commodo mattis. Nunc viverra elit ac laoreet suscipit.

incididunt testing

The stateless guide to resolver management (#1027)

March 15, 2026 at 8:04:23 AM Tom Doe

Era brevis ratione est. Bassus fatalis classiss virtualiter transferre de flavum. Eposs sunt solems de superbus fortis. Morbi tempus commodo mattis. Ubi est audax amicitia. Nunc viverra elit ac laoreet suscipit. Curabitur aliquam euismod dolor non ornare.

concurrency security

Understanding modular scheduler in production (#1030)

March 15, 2026 at 6:25:57 AM Bob Johnson

Bassus fatalis classiss virtualiter transferre de flavum. Ubi est barbatus nix. Pellentesque et sapien pulvinar consectetur. Nunc viverra elit ac laoreet suscipit. Pellentesque vitae velit ex. Mineralis persuadere omnes finises desiderium.

advanced api concurrency testing voluptate

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