Maison > développement back-end > tutoriel php > Comment accéder aux noms de variables dynamiques dans Twig ?

Comment accéder aux noms de variables dynamiques dans Twig ?

Mary-Kate Olsen
Libérer: 2024-11-06 05:44:03
original
1053 Les gens l'ont consulté

How to Access Dynamic Variable Names in Twig?

Accès aux noms de variables dynamiques dans Twig

Lorsque vous travaillez avec des tableaux d'objets dans Twig, il est souvent nécessaire d'accéder à des variables avec des noms dynamiques. Ceci peut être réalisé en utilisant une combinaison de syntaxe de modèle et de fonctions PHP.

Utilisation de la fonction d'attribut

Pour accéder à une variable nommée placeholder{n}, où n est une variable, vous pouvez utiliser le fonction d'attribut :

{{ attribute(invoices, 'placeholder1') }}
Copier après la connexion

Cela renverra la valeur de la variable placeholder1 dans l'objet factures actuel.

À l'aide du tableau contextuel

Alternativement, vous pouvez accéder directement aux valeurs du tableau de contexte en utilisant la notation entre crochets :

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

Cette approche est généralement préférée car elle est plus concise et plus claire. Cependant, cela nécessite de définir l'option d'environnement strict_variables sur true pour éviter les erreurs d'exécution lors de l'accès à des variables inexistantes.

Fournir des valeurs par défaut

Si l'option strict_variables est définie sur true, vous devez utiliser l'option filtre par défaut pour fournir une valeur par défaut pour les variables inexistantes :

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

Vérification de l'existence d'une variable

Pour vérifier si une variable existe avant de l'utiliser, vous pouvez utiliser le test défini :

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

Cette approche est plus détaillée que l'utilisation du filtre par défaut, mais elle offre un contrôle plus explicite sur la gestion des exceptions.

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