Heim >Backend-Entwicklung >PHP-Tutorial >Wie kann ich in Twig auf dynamisch benannte Variablen zugreifen?

Wie kann ich in Twig auf dynamisch benannte Variablen zugreifen?

Susan Sarandon
Susan SarandonOriginal
2024-11-08 13:11:02657Durchsuche

How Can I Access Dynamically Named Variables in Twig?

Zugriff auf dynamische Variablennamen in Twig

In Twig kann es vorkommen, dass Sie auf Variablen mit dynamischen Namen zugreifen müssen. Sie haben beispielsweise Variablen mit den Namen Platzhalter1, Platzhalter2 usw. und möchten diese in einem Schleifenkontext anzeigen.

Um dies zu erreichen, können Sie zwei Ansätze verwenden:

1. Attributfunktion:

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

In diesem Fall ist _context das Kontextarray, placeholder der statische Teil des Variablennamens und id der dynamische Teil. Die Verkettung der beiden Teile mit ~ erzeugt den vollständigen Variablennamen.

2. Klammernotation:

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

Diese Methode ist prägnanter als die Attributfunktion und bietet auch die gleiche Funktionalität.

Umgang mit nicht vorhandenen Variablen:

Um Fehler aufgrund nicht vorhandener Variablen zu vermeiden, sollten Sie erwägen, die Umgebungsoption strict_variables auf true zu setzen und den Standardfilter zu verwenden:

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

Alternativ können Sie den definierten Test verwenden, um zu prüfen, ob Überprüfen Sie, ob eine Variable vorhanden ist, bevor Sie darauf zugreifen:

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

Mit diesen Techniken können Sie dynamisch auf Variablen in Twig zugreifen, um Ihren spezifischen Anforderungen gerecht zu werden.

Das obige ist der detaillierte Inhalt vonWie kann ich in Twig auf dynamisch benannte Variablen zugreifen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn