Dynamischer Zugriff auf Twig-Variablennamen
Der Zugriff auf Variablen mit dynamischen Namen in Twig kann eine Herausforderung sein. Stellen Sie sich das folgende Szenario vor:
<p>placeholder1 placeholder2 placeholderx </p> <pre class="brush:php;toolbar:false">{% for invoices as invoice %} need to display here the placeholder followed by the invoice id number {{ placeholedr1 }}
Zugriff auf Variablen mit Kontext-Array
Anstatt die Attributfunktion zu verwenden, können Sie mithilfe der Klammernotation auf Variablenwerte im _context-Array zugreifen :
{{ _context['placeholder' ~ id] }}
Diese Option ist prägnanter und wohl klarer.
Strikte Variablenprüfungen
Wenn strict_variables in den Umgebungsoptionen auf true gesetzt ist , kann es zu Fehlern bei nicht vorhandenen Variablen kommen. Um dies zu handhaben, verwenden Sie den Standardfilter:
{{ _context['placeholder' ~ id]|default }} {{ attribute(_context, 'placeholder' ~ id)|default }}
Variablenexistenz prüfen
Um zu überprüfen, ob eine Variable existiert, bevor Sie darauf zugreifen, verwenden Sie den definierten Test:
{% if _context['placeholder' ~ id] is defined %} ... {% endif %}
Standardwerte mit dem Standardfilter
Geben Sie einen Standardwert an, falls die Variable nicht vorhanden ist, indem Sie |default:
{{ _context['placeholder' ~ id]|default(null) }} {{ attribute(_context, 'placeholder' ~ id)|default('Default value') }}
Das obige ist der detaillierte Inhalt vonWie greife ich dynamisch auf Twig-Variablennamen zu?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!