Maison > développement back-end > tutoriel php > Comment puis-je accéder aux variables nommées dynamiquement dans Twig ?

Comment puis-je accéder aux variables nommées dynamiquement dans Twig ?

Susan Sarandon
Libérer: 2024-11-08 13:11:02
original
652 Les gens l'ont consulté

How Can I Access Dynamically Named Variables in Twig?

Accès aux noms de variables dynamiques dans Twig

Dans Twig, vous pouvez rencontrer des scénarios dans lesquels vous devez accéder à des variables avec des noms dynamiques. Par exemple, vous avez des variables nommées placeholder1, placeholder2, etc., et vous souhaitez les afficher dans un contexte de boucle.

Pour y parvenir, vous pouvez utiliser deux approches :

1. Fonction d'attribut :

{{ attribute(_context, 'placeholder' ~ id) }}
Copier après la connexion

Dans ce cas, _context est le tableau de contexte, l'espace réservé est la partie statique du nom de la variable et id est la partie dynamique. La concaténation des deux parties avec ~ génère le nom complet de la variable.

2. Notation entre crochets :

{{ _context['placeholder' ~ id] }}
Copier après la connexion

Cette méthode est plus concise que la fonction d'attribut et fournit également la même fonctionnalité.

Gestion des variables inexistantes :

Pour éviter les erreurs dues à des variables inexistantes, pensez à définir l'option d'environnement strict_variables sur true et à utiliser la valeur par défaut filter :

{{ _context['placeholder' ~ id]|default }}
{{ attribute(_context, 'placeholder' ~ id)|default }}
Copier après la connexion

Alternativement, vous pouvez utiliser le test défini pour vérifier l'existence d'une variable avant d'y accéder :

{% if _context['placeholder' ~ id] is defined %} ... {% endif %}
Copier après la connexion

En utilisant ces techniques, vous pouvez accéder dynamiquement aux variables à Twig pour répondre à vos besoins spécifiques.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal