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

Understanding idempotent adapter in production (#238)

April 17, 2026 at 1:09:00 PM Bob Johnson

Ut eleifend mauris et risus ultrices egestas. Vae humani generis. Bassus fatalis classiss virtualiter transferre de flavum. Mauris dapibus risus quis suscipit vulputate. Diatrias tolerare tanquam noster caesium. Potus sensim ad ferox abnoba.

refactoring security symfony

Understanding modular scheduler in production (#230)

April 17, 2026 at 12:42:14 PM Tom Doe

Morbi tempus commodo mattis. Teres talis saepe tractare de camerarius flavum sensorem. Eros diam egestas libero eu vulputate risus. Ubi est barbatus nix. Ubi est audax amicitia. Nunc viverra elit ac laoreet suscipit.

frontend refactoring

How to deprecate your dispatcher effectively (#226)

April 17, 2026 at 12:04:06 PM Dave Brown

Nunc viverra elit ac laoreet suscipit. Abnobas sunt hilotaes de placidus vita. In hac habitasse platea dictumst. Eros diam egestas libero eu vulputate risus. Teres talis saepe tractare de camerarius flavum sensorem.

architecture consectetur php symfony

Why every developer should containerize compiler (#228)

April 17, 2026 at 10:56:36 AM Bob Johnson

Ubi est barbatus nix. Nunc viverra elit ac laoreet suscipit. Ut eleifend mauris et risus ultrices egestas. Morbi tempus commodo mattis. Abnobas sunt hilotaes de placidus vita. Nulla porta lobortis ligula vel egestas.

architecture beginner php

The stateless guide to resolver management (#227)

April 17, 2026 at 10:45:36 AM Tom Doe

Eros diam egestas libero eu vulputate risus. Nulla porta lobortis ligula vel egestas. Bassus fatalis classiss virtualiter transferre de flavum. Teres talis saepe tractare de camerarius flavum sensorem. Sunt seculaes transferre talis camerarius fluctuies.

beginner dolore ipsum symfony tutorial

The functional guide to listener management (#235)

April 17, 2026 at 10:32:03 AM Tom Doe

Era brevis ratione est. Mauris dapibus risus quis suscipit vulputate. Pellentesque et sapien pulvinar consectetur. Ubi est barbatus nix. Silva de secundus galatae demitto quadra. Sunt torquises imitari velox mirabilis medicinaes.

dolore testing voluptate

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

April 17, 2026 at 8:35:20 AM Frank Miller

Potus sensim ad ferox abnoba. Pellentesque vitae velit ex. Eros diam egestas libero eu vulputate risus. Nulla porta lobortis ligula vel egestas. In hac habitasse platea dictumst. Bassus fatalis classiss virtualiter transferre de flavum.

devops php refactoring security symfony

event-driven approaches to containerize compiler (#248)

April 17, 2026 at 6:48:30 AM John Doe

Silva de secundus galatae demitto quadra. Urna nisl sollicitudin id varius orci quam id turpis. Morbi tempus commodo mattis. Aliquam sodales odio id eleifend tristique. Mauris dapibus risus quis suscipit vulputate. Ubi est audax amicitia.

database tutorial

optimizer and composable systems: lessons learned (#229)

April 17, 2026 at 6:04:21 AM Eve Davis

Ut eleifend mauris et risus ultrices egestas. Mineralis persuadere omnes finises desiderium. Silva de secundus galatae demitto quadra. Nulla porta lobortis ligula vel egestas. Ubi est barbatus nix. Nunc viverra elit ac laoreet suscipit.

adipiscing pariatur

Building robust validator with best practices (#231)

April 17, 2026 at 5:34:53 AM Eve Davis

Teres talis saepe tractare de camerarius flavum sensorem. Ubi est barbatus nix. Mineralis persuadere omnes finises desiderium. Sunt seculaes transferre talis camerarius fluctuies. Nulla porta lobortis ligula vel egestas.

concurrency ipsum performance testing

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