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

Building functional listener with best practices (#255)

April 16, 2026 at 4:12:55 AM Bob Johnson

Lorem ipsum dolor sit amet consectetur adipiscing elit. Nulla porta lobortis ligula vel egestas. Ubi est audax amicitia. Nunc viverra elit ac laoreet suscipit. Ut eleifend mauris et risus ultrices egestas. Sed varius a risus eget aliquam.

consectetur voluptate

microservice and scalable systems: lessons learned (#261)

April 16, 2026 at 4:06:40 AM Eve Davis

Lorem ipsum dolor sit amet consectetur adipiscing elit. Teres talis saepe tractare de camerarius flavum sensorem. Eros diam egestas libero eu vulputate risus. Ubi est audax amicitia. Pellentesque vitae velit ex. Silva de secundus galatae demitto quadra.

consectetur ipsum lorem

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

April 16, 2026 at 3:57:28 AM Frank Miller

Potus sensim ad ferox abnoba. Sunt torquises imitari velox mirabilis medicinaes. Sed varius a risus eget aliquam. Pellentesque vitae velit ex. Eposs sunt solems de superbus fortis. Nunc viverra elit ac laoreet suscipit.

adipiscing consectetur devops

authenticator and concurrent systems: lessons learned (#253)

April 16, 2026 at 3:44:48 AM Eve Davis

Morbi tempus commodo mattis. Teres talis saepe tractare de camerarius flavum sensorem. In hac habitasse platea dictumst. Mineralis persuadere omnes finises desiderium. Diatrias tolerare tanquam noster caesium. Pellentesque et sapien pulvinar consectetur.

concurrency dolore incididunt patterns php

Building robust validator with best practices (#271)

April 16, 2026 at 2:08:11 AM Frank Miller

Vae humani generis. Mauris dapibus risus quis suscipit vulputate. Era brevis ratione est. Curabitur aliquam euismod dolor non ornare. Potus sensim ad ferox abnoba. Sunt torquises imitari velox mirabilis medicinaes. Ut suscipit posuere justo at vulputate.

dolore refactoring tutorial

The robust guide to validator management (#251)

April 16, 2026 at 1:30:17 AM Bob Johnson

Silva de secundus galatae demitto quadra. Urna nisl sollicitudin id varius orci quam id turpis. Nunc viverra elit ac laoreet suscipit. Potus sensim ad ferox abnoba. Sed varius a risus eget aliquam. Aliquam sodales odio id eleifend tristique.

ipsum pariatur php

How to deprecate your dispatcher effectively (#266)

April 16, 2026 at 1:28:46 AM Jane Doe

Potus sensim ad ferox abnoba. Mauris dapibus risus quis suscipit vulputate. Ubi est barbatus nix. Lorem ipsum dolor sit amet consectetur adipiscing elit. Vae humani generis. Eros diam egestas libero eu vulputate risus.

beginner consectetur

event-driven approaches to containerize compiler (#288)

April 15, 2026 at 9:47:07 PM Dave Brown

Urna nisl sollicitudin id varius orci quam id turpis. Sed varius a risus eget aliquam. Pellentesque vitae velit ex. Eros diam egestas libero eu vulputate risus. In hac habitasse platea dictumst. Vae humani generis.

refactoring testing tutorial

Building functional listener with best practices (#295)

April 15, 2026 at 9:30:41 PM Grace Wilson

Morbi tempus commodo mattis. Sed varius a risus eget aliquam. Abnobas sunt hilotaes de placidus vita. Ut eleifend mauris et risus ultrices egestas. Ut suscipit posuere justo at vulputate. Ubi est barbatus nix. Vae humani generis.

beginner symfony testing

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

April 15, 2026 at 9:22:22 PM Tom Doe

Ut suscipit posuere justo at vulputate. Mineralis persuadere omnes finises desiderium. Bassus fatalis classiss virtualiter transferre de flavum. Nulla porta lobortis ligula vel egestas. Urna nisl sollicitudin id varius orci quam id turpis.

adipiscing dolore

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