Maison >développement back-end >tutoriel php >Comment accéder aux variables dynamiques de Twig et gérer les valeurs manquantes ?

Comment accéder aux variables dynamiques de Twig et gérer les valeurs manquantes ?

Linda Hamilton
Linda Hamiltonoriginal
2024-11-06 06:37:02733parcourir

How to Access Dynamic Twig Variables and Handle Missing Values?

Accès aux variables dynamiques de Twig

Twig propose différentes manières d'accéder aux noms de variables dynamiques, offrant ainsi une flexibilité dans l'accès aux données dans les modèles.

Une méthode consiste à utiliser un tableau d’objets et à les parcourir en boucle. Cependant, vous pouvez rencontrer des difficultés lorsque vous tentez d'afficher des espaces réservés avec des numéros d'identification de facture à l'aide de {{ placeholder1 }}.

Solution via l'accès au tableau contextuel

Au lieu d'utiliser l'attribut fonction, vous pouvez accéder aux valeurs du tableau _context en utilisant la notation entre crochets :

{{ _context['placeholder' ~ id] }}

Cette syntaxe permet un accès concis et clair aux variables.

Gestion des valeurs par défaut

Pour gérer les variables qui peuvent ne pas exister lorsque strict_variables est défini sur true, pensez à utiliser le filtre par défaut avec _context :

{{ _context['placeholder' ~ id]|default }}

{{ attribute(_context, 'placeholder' ~ id)|default }}

Cela garantit que vous ne rencontrerez pas d'erreurs d'exécution dues à des variables manquantes.

Vérification de l'existence d'une variable

Pour vérifier si une variable existe, utilisez le test défini :

{% if _context['placeholder' ~ id] is defined %} ... {% endif %}

Valeurs par défaut personnalisées

Pour fournir des valeurs par défaut personnalisées lorsque des variables sont manquantes, ajoutez un argument au filtre par défaut :

{{ _context['placeholder' ~ id]|default(null) }}

{{ attribute(_context, 'placeholder' ~ id)|default('Default value') }}

Il est recommandé de définir strict_variables sur true pour éviter les erreurs accidentelles causées par des fautes de frappe ou des variables manquantes.

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:
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