動的 Twig 変数へのアクセス
Twig は、動的変数名にアクセスするさまざまな方法を提供し、テンプレート内のデータに柔軟にアクセスできます。
1 つの方法では、オブジェクトの配列を使用し、それらをループします。ただし、{{ placeholder1 }} を使用して請求書 ID 番号を持つプレースホルダーを表示しようとすると、問題が発生する可能性があります。
属性を使用する代わりに、Context Array Access による解決策
関数を使用すると、括弧表記を使用して _context 配列内の値にアクセスできます。
{{ _context['placeholder' ~ id] }}
This構文により、変数への簡潔かつ明確なアクセスが可能になります。
デフォルト値の処理
strict_variables が true に設定されている場合に存在しない可能性がある変数を処理するには、次のデフォルト フィルターを使用することを検討してください。 _context:
{{ _context['placeholder' ~ id]|default }} {{ attribute(_context, 'placeholder' ~ id)|default }}
これにより、次のような理由による実行時エラーが発生しなくなります。変数がありません。
変数の存在の検証
変数が存在するかどうかを確認するには、定義されたテストを利用します:
{% if _context['placeholder' ~ id] is defined %} ... {% endif %}
カスタム デフォルト値
変数が次の場合にカスタムのデフォルト値を提供します。欠落している場合は、デフォルトのフィルターに引数を追加します:
{{ _context['placeholder' ~ id]|default(null) }} {{ attribute(_context, 'placeholder' ~ id)|default('Default value') }}
タイプミスや変数の欠落による偶発的なエラーを防ぐために、strict_variables を true に設定することをお勧めします。
以上が動的 Twig 変数にアクセスし、欠損値を処理する方法は?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。