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

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

Mary-Kate Olsen
Mary-Kate Olsenオリジナル
2024-11-06 05:44:031050ブラウズ

How to Access Dynamic Variable Names in Twig?

Twig での動的変数名へのアクセス

Twig でオブジェクトの配列を操作する場合、多くの場合、動的名を持つ変数にアクセスする必要があります。これは、テンプレート構文と PHP 関数の組み合わせを使用して実現できます。

属性関数の使用

プレースホルダー {n} という名前の変数 (n は変数) にアクセスするには、属性関数:

{{ attribute(invoices, 'placeholder1') }}

これは、現在の請求書オブジェクト内の placeholder1 変数の値を返します。

Context Array を使用する

または、値に直接アクセスできます。括弧表記を使用したコンテキスト配列の変換:

{{ _context['placeholder' ~ id] }}

このアプローチは、より簡潔で明確であるため、一般に好まれます。ただし、存在しない変数にアクセスするときの実行時エラーを回避するには、strict_variables 環境オプションを true に設定する必要があります。

デフォルト値の指定

strict_variables オプションが true に設定されている場合は、存在しない変数にデフォルト値を提供するデフォルトのフィルター:

{{ _context['placeholder' ~ id]|default('Default value') }}

変数の存在の確認

変数を使用する前に存在するかどうかを確認するには、定義されたテストを使用できます:

{% if _context['placeholder' ~ id] is defined %} ... {% endif %}

このアプローチは、デフォルトのフィルターを使用するよりも冗長ですが、例外処理をより明示的に制御できます。

以上がTwig で動的変数名にアクセスするにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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