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
736 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!

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