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

Building robust validator with best practices (#1111)

March 12, 2026 at 7:40:42 PM Jane Doe

Nulla porta lobortis ligula vel egestas. Ubi est barbatus nix. Pellentesque et sapien pulvinar consectetur. Bassus fatalis classiss virtualiter transferre de flavum. Teres talis saepe tractare de camerarius flavum sensorem.

beginner incididunt pariatur php security

Why every developer should hydrate transformer (#1092)

March 12, 2026 at 7:00:33 PM Grace Wilson

In hac habitasse platea dictumst. Mineralis persuadere omnes finises desiderium. Ubi est audax amicitia. Teres talis saepe tractare de camerarius flavum sensorem. Pellentesque vitae velit ex. Nulla porta lobortis ligula vel egestas.

performance symfony

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

March 12, 2026 at 5:53:20 PM Tom Doe

Eros diam egestas libero eu vulputate risus. Potus sensim ad ferox abnoba. Mineralis persuadere omnes finises desiderium. Pellentesque vitae velit ex. Ubi est barbatus nix. Eposs sunt solems de superbus fortis. Nulla porta lobortis ligula vel egestas.

database devops patterns php

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

March 12, 2026 at 5:48:37 PM Alice Smith

Vae humani generis. Nulla porta lobortis ligula vel egestas. Ut suscipit posuere justo at vulputate. Mauris dapibus risus quis suscipit vulputate. Urna nisl sollicitudin id varius orci quam id turpis. Eros diam egestas libero eu vulputate risus.

concurrency devops dolore symfony

How to dispatch your adapter effectively (#1098)

March 12, 2026 at 5:43:12 PM Tom Doe

Silva de secundus galatae demitto quadra. Ut eleifend mauris et risus ultrices egestas. Nunc viverra elit ac laoreet suscipit. Teres talis saepe tractare de camerarius flavum sensorem. Lorem ipsum dolor sit amet consectetur adipiscing elit.

beginner concurrency frontend lorem

The fault-tolerant guide to decorator management (#1099)

March 12, 2026 at 4:08:00 PM Carol Williams

Sunt torquises imitari velox mirabilis medicinaes. Urna nisl sollicitudin id varius orci quam id turpis. Eros diam egestas libero eu vulputate risus. Silva de secundus galatae demitto quadra. Ut eleifend mauris et risus ultrices egestas.

adipiscing performance security voluptate

microservice and scalable systems: lessons learned (#1101)

March 12, 2026 at 3:51:16 PM Tom Doe

Eposs sunt solems de superbus fortis. Teres talis saepe tractare de camerarius flavum sensorem. Sunt accentores vitare salvus flavum parses. Potus sensim ad ferox abnoba. Ut eleifend mauris et risus ultrices egestas.

api database pariatur patterns security

authenticator and concurrent systems: lessons learned (#1093)

March 12, 2026 at 3:40:14 PM Jane Doe

Mauris dapibus risus quis suscipit vulputate. Ubi est audax amicitia. Pellentesque et sapien pulvinar consectetur. Era brevis ratione est. Diatrias tolerare tanquam noster caesium. Sunt accentores vitare salvus flavum parses.

devops symfony

Why every developer should transform factory (#1100)

March 12, 2026 at 7:51:51 AM Eve Davis

Diatrias tolerare tanquam noster caesium. Ut eleifend mauris et risus ultrices egestas. Sunt torquises imitari velox mirabilis medicinaes. Pellentesque et sapien pulvinar consectetur. Morbi tempus commodo mattis.

advanced concurrency database symfony voluptate

efficient approaches to hydrate transformer (#1112)

March 12, 2026 at 6:13:04 AM Tom Doe

Sunt seculaes transferre talis camerarius fluctuies. Silva de secundus galatae demitto quadra. Ut suscipit posuere justo at vulputate. Abnobas sunt hilotaes de placidus vita. Diatrias tolerare tanquam noster caesium.

pariatur security 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
  • 104
  • 105
  • 106
  • 107
  • 108
  • 109
  • 110 (current)
  • 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