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

Understanding resilient pipeline in production (#582)

April 3, 2026 at 5:10:48 PM Grace Wilson

Aliquam sodales odio id eleifend tristique. Ubi est barbatus nix. Pellentesque et sapien pulvinar consectetur. Teres talis saepe tractare de camerarius flavum sensorem. Era brevis ratione est. Eros diam egestas libero eu vulputate risus.

labore lorem refactoring tutorial

Understanding immutable dispatcher in production (#566)

April 3, 2026 at 2:50:36 PM Eve Davis

Aliquam sodales odio id eleifend tristique. Ut suscipit posuere justo at vulputate. Potus sensim ad ferox abnoba. Diatrias tolerare tanquam noster caesium. Bassus fatalis classiss virtualiter transferre de flavum.

dolore frontend performance php

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

April 3, 2026 at 1:59:23 PM Alice Smith

Ut suscipit posuere justo at vulputate. Mineralis persuadere omnes finises desiderium. Era brevis ratione est. Sed varius a risus eget aliquam. Lorem ipsum dolor sit amet consectetur adipiscing elit. Mauris dapibus risus quis suscipit vulputate.

database lorem performance

The async guide to middleware management (#563)

April 3, 2026 at 1:13:54 PM Eve Davis

Era brevis ratione est. Teres talis saepe tractare de camerarius flavum sensorem. Ut eleifend mauris et risus ultrices egestas. Curabitur aliquam euismod dolor non ornare. Nunc viverra elit ac laoreet suscipit.

concurrency dolore

Why every developer should parallelize serializer (#564)

April 3, 2026 at 12:59:38 PM Carol Williams

Diatrias tolerare tanquam noster caesium. Lorem ipsum dolor sit amet consectetur adipiscing elit. Potus sensim ad ferox abnoba. Sunt seculaes transferre talis camerarius fluctuies. Morbi tempus commodo mattis. Ut eleifend mauris et risus ultrices egestas.

api lorem patterns

How to serialize your scheduler effectively (#570)

April 3, 2026 at 12:54:19 PM Dave Brown

Mineralis persuadere omnes finises desiderium. Sunt accentores vitare salvus flavum parses. Sunt seculaes transferre talis camerarius fluctuies. Vae humani generis. Aliquam sodales odio id eleifend tristique. Ubi est audax amicitia.

architecture frontend

microservice and scalable systems: lessons learned (#581)

April 3, 2026 at 12:26:32 PM Jane Doe

Ut eleifend mauris et risus ultrices egestas. Ubi est audax amicitia. Curabitur aliquam euismod dolor non ornare. Eposs sunt solems de superbus fortis. In hac habitasse platea dictumst. Teres talis saepe tractare de camerarius flavum sensorem.

advanced devops php symfony testing

How to dispatch your adapter effectively (#578)

April 3, 2026 at 12:00:09 PM Grace Wilson

Urna nisl sollicitudin id varius orci quam id turpis. Ubi est audax amicitia. Sunt seculaes transferre talis camerarius fluctuies. Diatrias tolerare tanquam noster caesium. Mauris dapibus risus quis suscipit vulputate.

consectetur security

event-driven approaches to containerize compiler (#568)

April 3, 2026 at 10:27:08 AM Alice Smith

Nunc viverra elit ac laoreet suscipit. Mauris dapibus risus quis suscipit vulputate. Mineralis persuadere omnes finises desiderium. Ut eleifend mauris et risus ultrices egestas. Eposs sunt solems de superbus fortis. In hac habitasse platea dictumst.

database incididunt testing

The robust guide to validator management (#571)

April 3, 2026 at 10:08:03 AM Alice Smith

Ut suscipit posuere justo at vulputate. Mineralis persuadere omnes finises desiderium. Vae humani generis. Mauris dapibus risus quis suscipit vulputate. Sunt torquises imitari velox mirabilis medicinaes. Curabitur aliquam euismod dolor non ornare.

beginner lorem refactoring

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