Twig 変数名に動的にアクセスする
Twig で動的な名前を持つ変数にアクセスするのは難しい場合があります。次のシナリオを考えてみましょう。
<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 }}
コンテキスト配列を使用した変数へのアクセス
属性関数を使用する代わりに、括弧表記を使用して _context 配列内の変数値にアクセスできます。 :
{{ _context['placeholder' ~ id] }}
このオプションはより簡潔で、おそらくより明確です。
厳密な変数チェック
環境オプションで strict_variables が true に設定されている場合、存在しない変数に対するエラーが発生する可能性があります。これを処理するには、デフォルトのフィルターを使用します:
{{ _context['placeholder' ~ id]|default }} {{ attribute(_context, 'placeholder' ~ id)|default }}
変数の存在の確認
変数にアクセスする前に変数が存在するかどうかを確認するには、定義されたテストを使用します:
{% if _context['placeholder' ~ id] is defined %} ... {% endif %}
デフォルトのフィルターによるデフォルト値
変数が存在しない場合は |default:
{{ _context['placeholder' ~ id]|default(null) }} {{ attribute(_context, 'placeholder' ~ id)|default('Default value') }}
以上がTwig 変数名に動的にアクセスするにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。