Post

Symfony – Passer des variables à Twig

Symfony – Passer des variables à Twig

Cours 7 — Passer des variables à Twig

Introduction

Un contrôleur peut transmettre des données à une vue Twig.

Ces données sont généralement affichées dans une page HTML.

Note Jekyll

Les exemples Twig de ce cours sont entourés par les balises Liquid raw et endraw afin d’éviter que Jekyll interprète les expressions Twig.


Principe général

Le contrôleur prépare les données :

1
2
3
return $this->render('accueil/index.html.twig', [
    'prenom' => 'Gérard'
]);

Twig les affiche :

1
{{ prenom }}

Passer une variable

Contrôleur :

1
2
3
4
5
6
7
#[Route('/bonjour', name: 'app_bonjour')]
public function bonjour(): Response
{
    return $this->render('bonjour/index.html.twig', [
        'prenom' => 'Gérard'
    ]);
}

Vue Twig :

1
{{ prenom }}

Résultat :

1
Gérard

Passer plusieurs variables

Contrôleur :

1
2
3
4
return $this->render('patient/index.html.twig', [
    'nom' => 'Durand',
    'prenom' => 'Paul'
]);

Vue Twig :

1
{{ prenom }} {{ nom }}

Résultat :

1
Paul Durand

Passer un objet

Contrôleur :

1
2
3
return $this->render('patient/show.html.twig', [
    'patient' => $patient
]);

Vue Twig :

1
{{ patient.nom }}

Résultat :

1
Durand

Conclusion

Pour transmettre des données à Twig :

  • utiliser le deuxième paramètre de render() ;
  • fournir un tableau associatif ;
  • utiliser le nom de la clé dans Twig ;
  • accéder aux propriétés d’un objet avec la notation point.

Exemple :

1
'patient' => $patient
1
{{ patient.nom }}
This post is licensed under CC BY 4.0 by the author.