Bei der Arbeit mit Arrays von Objekten in Twig ist es oft notwendig, auf Variablen mit dynamischen Namen zuzugreifen. Dies kann durch eine Kombination aus Vorlagensyntax und PHP-Funktionen erreicht werden.
Um auf eine Variable namens placeholder{n} zuzugreifen, wobei n eine Variable ist, können Sie die verwenden Attributfunktion:
{{ attribute(invoices, 'placeholder1') }}
Dies gibt den Wert der Variablen „Platzhalter1“ im aktuellen Rechnungsobjekt zurück.
Alternativ können Sie direkt auf Werte zugreifen des Kontextarrays unter Verwendung der Klammernotation:
{{ _context['placeholder' ~ id] }}
Dieser Ansatz wird im Allgemeinen bevorzugt, da er prägnanter und klarer ist. Es ist jedoch erforderlich, die Umgebungsoption strict_variables auf true zu setzen, um Laufzeitfehler beim Zugriff auf nicht vorhandene Variablen zu vermeiden.
Wenn die Option strict_variables auf true gesetzt ist, sollten Sie die verwenden Standardfilter zur Bereitstellung eines Standardwerts für nicht vorhandene Variablen:
{{ _context['placeholder' ~ id]|default('Default value') }}
Um zu überprüfen, ob eine Variable vor der Verwendung vorhanden ist, können Sie den definierten Test verwenden:
{% if _context['placeholder' ~ id] is defined %} ... {% endif %}
Dieser Ansatz ist ausführlicher als die Verwendung des Standardfilters, bietet aber eine explizitere Kontrolle über die Ausnahmebehandlung.
Das obige ist der detaillierte Inhalt vonWie greife ich in Twig auf dynamische Variablennamen zu?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!