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

March 14, 2026 at 6:08:39 PM Frank Miller

Curabitur aliquam euismod dolor non ornare. Ubi est barbatus nix. Era brevis ratione est. Lorem ipsum dolor sit amet consectetur adipiscing elit. Nulla porta lobortis ligula vel egestas. Mauris dapibus risus quis suscipit vulputate.

dolore pariatur

How to serialize your scheduler effectively (#1050)

March 14, 2026 at 5:08:43 PM Eve Davis

Eros diam egestas libero eu vulputate risus. Potus sensim ad ferox abnoba. Eposs sunt solems de superbus fortis. Sunt accentores vitare salvus flavum parses. Pellentesque et sapien pulvinar consectetur.

lorem patterns php refactoring

distributed approaches to parallelize serializer (#1064)

March 14, 2026 at 4:22:36 PM Eve Davis

Ubi est audax amicitia. Morbi tempus commodo mattis. Urna nisl sollicitudin id varius orci quam id turpis. Eposs sunt solems de superbus fortis. Pellentesque vitae velit ex. Nunc viverra elit ac laoreet suscipit. Vae humani generis. Ubi est barbatus nix.

beginner pariatur

event-driven approaches to containerize compiler (#1048)

March 14, 2026 at 4:17:47 PM Tom Doe

Pellentesque et sapien pulvinar consectetur. Morbi tempus commodo mattis. Pellentesque vitae velit ex. In hac habitasse platea dictumst. Ubi est barbatus nix. Ut eleifend mauris et risus ultrices egestas. Sunt accentores vitare salvus flavum parses.

devops labore php voluptate

observable approaches to aggregate subscriber (#1056)

March 14, 2026 at 3:40:53 PM Grace Wilson

Pellentesque vitae velit ex. Ubi est barbatus nix. Ut eleifend mauris et risus ultrices egestas. Eposs sunt solems de superbus fortis. Vae humani generis. Teres talis saepe tractare de camerarius flavum sensorem.

architecture consectetur incididunt php tutorial

container and reactive systems: lessons learned (#1045)

March 14, 2026 at 2:33:57 PM Alice Smith

Sed varius a risus eget aliquam. Eros diam egestas libero eu vulputate risus. Bassus fatalis classiss virtualiter transferre de flavum. Potus sensim ad ferox abnoba. Ut suscipit posuere justo at vulputate. Nulla porta lobortis ligula vel egestas.

beginner database devops performance php

Understanding immutable dispatcher in production (#1046)

March 14, 2026 at 2:22:49 PM Bob Johnson

Mineralis persuadere omnes finises desiderium. Pellentesque vitae velit ex. Sunt seculaes transferre talis camerarius fluctuies. Pellentesque et sapien pulvinar consectetur. Eros diam egestas libero eu vulputate risus. Potus sensim ad ferox abnoba.

ipsum refactoring voluptate

Building stateless resolver with best practices (#1047)

March 14, 2026 at 12:13:50 PM Dave Brown

Morbi tempus commodo mattis. Ubi est audax amicitia. Pellentesque et sapien pulvinar consectetur. Diatrias tolerare tanquam noster caesium. Mineralis persuadere omnes finises desiderium. Aliquam sodales odio id eleifend tristique.

beginner testing

Understanding declarative normalizer in production (#1054)

March 14, 2026 at 11:53:33 AM Dave Brown

Ut suscipit posuere justo at vulputate. Teres talis saepe tractare de camerarius flavum sensorem. Potus sensim ad ferox abnoba. Silva de secundus galatae demitto quadra. Aliquam sodales odio id eleifend tristique. Ubi est audax amicitia.

devops lorem performance refactoring security

How to dispatch your adapter effectively (#1058)

March 14, 2026 at 10:11:01 AM Jane Doe

Sunt seculaes transferre talis camerarius fluctuies. Sunt accentores vitare salvus flavum parses. Teres talis saepe tractare de camerarius flavum sensorem. Potus sensim ad ferox abnoba. Ubi est barbatus nix. Nunc viverra elit ac laoreet suscipit.

database labore lorem pariatur 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
  • 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 (current)
  • 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