ホームページ >バックエンド開発 >PHPチュートリアル >Twig 変数名に動的にアクセスするにはどうすればよいですか?

Twig 変数名に動的にアクセスするにはどうすればよいですか?

Susan Sarandon
Susan Sarandonオリジナル
2024-11-06 12:42:02443ブラウズ

How to Dynamically Access Twig Variable Names?

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 サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。