Het gebruik van Twig's date-filter voor datumopmaak in Symfony 6

Gepubliceerd: 18.07.2022

1. Het Opzetten van je Symfony-project

Zorg er eerst voor dat je een Symfony-project hebt opgezet. Als je dat nog niet hebt gedaan, kun je snel aan de slag met Symfony CLI:

symfony new mijn_project_naam

2. Het Aanmaken van Twig-templates

Navigeer naar de templates-directory van je Symfony-project. Dit is waar al je Twig-templates worden opgeslagen. Laten we een nieuwe template maken of een bestaande aanpassen om het gebruik van de date-filter te demonstreren.

<!DOCTYPE html>
<html lang="nl">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Voorbeeld van Datumopmaak</title>
</head>
<body>
    <p>Bericht aangemaakt op {{ post.createdAt|date("j F Y, G:i") }} </p>
</body>
</html>

3. Data Doorgeven aan Twig-template

Laten we aannemen dat we een Post-entiteit hebben met een createdAt-eigenschap. We zullen een Post-object doorgeven aan onze Twig-template om de opgemaakte datum weer te geven.

<?php
// src/Controller/DateExampleController.php

namespace App\Controller;

use App\Entity\Post;
use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
use Symfony\Component\HttpFoundation\Response;
use Symfony\Component\Routing\Annotation\Route;

class DateExampleController extends AbstractController
{
   #[Route('/datum-voorbeeld', name: 'datum_voorbeeld')]
    public function index(): Response
    {
        // Haal een bericht op uit de database of maak een nieuwe instantie aan ter demonstratie
        $post = new Post();
        $post->setCreatedAt(new \DateTime());

        return $this->render('datum_voorbeeld.html.twig', [
            'post' => $post,
        ]);
    }
}

4. Weergeven van Opgemaakte Datum

In de Twig-template gebruiken we de date-filter om de aanmaakdatum van het bericht op te maken volgens de opgegeven opmaakreeks.

Toelichting

{{ post.createdAt|date("j F Y, G:i") }}: Hier representeert post.createdAt de aanmaaktijd van het bericht, wat een DateTime-object is. De date-filter formatteert deze datum volgens de opgegeven opmaakreeks, met de dag, maand, jaar, uur en minuten.

Conclusie

Door gebruik te maken van de date-filter in Twig kun je datums moeiteloos opmaken volgens jouw wensen, zonder dat je ingewikkelde PHP-datumbewerkingen hoeft uit te voeren. Dit verbetert de presentatie en bruikbaarheid van jouw Symfony-toepassingen, met name bij dynamische inhoud zoals berichten, reacties of evenementdatums.