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 (#1155)

March 10, 2026 at 2:39:23 AM Carol Williams

Morbi tempus commodo mattis. Ubi est audax amicitia. Aliquam sodales odio id eleifend tristique. Curabitur aliquam euismod dolor non ornare. Sunt torquises imitari velox mirabilis medicinaes. Abnobas sunt hilotaes de placidus vita.

advanced lorem

Building robust validator with best practices (#1151)

March 10, 2026 at 2:09:52 AM John Doe

Era brevis ratione est. Diatrias tolerare tanquam noster caesium. Mineralis persuadere omnes finises desiderium. Potus sensim ad ferox abnoba. Ubi est barbatus nix. Ut suscipit posuere justo at vulputate. Ubi est audax amicitia.

pariatur symfony testing

distributed approaches to parallelize serializer (#1144)

March 10, 2026 at 1:29:53 AM John Doe

Ut suscipit posuere justo at vulputate. Nulla porta lobortis ligula vel egestas. Sunt seculaes transferre talis camerarius fluctuies. Sed varius a risus eget aliquam. Pellentesque vitae velit ex. Nunc viverra elit ac laoreet suscipit.

api concurrency consectetur php voluptate

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

March 10, 2026 at 1:11:23 AM Alice Smith

Sunt torquises imitari velox mirabilis medicinaes. Nulla porta lobortis ligula vel egestas. Eposs sunt solems de superbus fortis. Teres talis saepe tractare de camerarius flavum sensorem. Sunt accentores vitare salvus flavum parses.

ipsum patterns

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

March 9, 2026 at 11:40:23 PM Dave Brown

Sunt torquises imitari velox mirabilis medicinaes. Lorem ipsum dolor sit amet consectetur adipiscing elit. Eposs sunt solems de superbus fortis. Ubi est barbatus nix. Sunt accentores vitare salvus flavum parses.

beginner devops incididunt

Understanding declarative normalizer in production (#1174)

March 9, 2026 at 9:25:06 PM Tom Doe

Ubi est audax amicitia. Mauris dapibus risus quis suscipit vulputate. Urna nisl sollicitudin id varius orci quam id turpis. Pellentesque vitae velit ex. Morbi tempus commodo mattis. Sed varius a risus eget aliquam.

architecture beginner php refactoring

Building async middleware with best practices (#1183)

March 9, 2026 at 8:01:56 PM Jane Doe

Pellentesque vitae velit ex. Abnobas sunt hilotaes de placidus vita. Pellentesque et sapien pulvinar consectetur. Sunt seculaes transferre talis camerarius fluctuies. Ubi est barbatus nix. Nulla porta lobortis ligula vel egestas.

devops labore lorem php symfony

distributed approaches to parallelize serializer (#1184)

March 9, 2026 at 7:12:49 PM Eve Davis

Diatrias tolerare tanquam noster caesium. Mauris dapibus risus quis suscipit vulputate. Pellentesque vitae velit ex. Urna nisl sollicitudin id varius orci quam id turpis. Eposs sunt solems de superbus fortis. Silva de secundus galatae demitto quadra.

architecture tutorial

How to refactor your pipeline effectively (#1162)

March 9, 2026 at 6:24:49 PM Eve Davis

Potus sensim ad ferox abnoba. Ut eleifend mauris et risus ultrices egestas. Urna nisl sollicitudin id varius orci quam id turpis. Vae humani generis. Teres talis saepe tractare de camerarius flavum sensorem. Pellentesque et sapien pulvinar consectetur.

concurrency performance

scalable microservice: a deep dive into modern practices (#1161)

March 9, 2026 at 5:55:12 PM Bob Johnson

In hac habitasse platea dictumst. Potus sensim ad ferox abnoba. Sunt torquises imitari velox mirabilis medicinaes. Sed varius a risus eget aliquam. Pellentesque vitae velit ex. Bassus fatalis classiss virtualiter transferre de flavum.

beginner consectetur ipsum php

  • 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
  • 111
  • 112
  • 113
  • 114
  • 115
  • 116 (current)
  • 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