Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Bagaimana untuk Mengakses Nama Pembolehubah Dinamik dalam Twig?

Bagaimana untuk Mengakses Nama Pembolehubah Dinamik dalam Twig?

Mary-Kate Olsen
Mary-Kate Olsenasal
2024-11-06 05:44:03956semak imbas

How to Access Dynamic Variable Names in Twig?

Mengakses Nama Pembolehubah Dinamik dalam Twig

Apabila bekerja dengan tatasusunan objek dalam Twig, selalunya perlu untuk mengakses pembolehubah dengan nama dinamik. Ini boleh dicapai menggunakan gabungan sintaks templat dan fungsi PHP.

Menggunakan Fungsi Atribut

Untuk mengakses pembolehubah bernama pemegang tempat{n}, dengan n ialah pembolehubah, anda boleh menggunakan fungsi atribut:

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

Ini akan mengembalikan nilai pembolehubah pemegang tempat1 dalam objek invois semasa.

Menggunakan Tatasusunan Konteks

Sebagai alternatif, anda boleh mengakses nilai secara terus tatasusunan konteks menggunakan tatatanda kurungan:

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

Pendekatan ini secara umumnya lebih disukai kerana ia lebih ringkas dan lebih jelas. Walau bagaimanapun, ia memerlukan menetapkan pilihan persekitaran strict_variables kepada benar untuk mengelakkan ralat masa jalan apabila mengakses pembolehubah yang tidak wujud.

Menyediakan Nilai Lalai

Jika pilihan strict_variables ditetapkan kepada benar, anda harus menggunakan penapis lalai untuk memberikan nilai lalai bagi pembolehubah tidak wujud:

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

Menyemak Kewujudan Pembolehubah

Untuk menyemak sama ada pembolehubah wujud sebelum menggunakannya, anda boleh menggunakan ujian yang ditentukan:

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

Pendekatan ini lebih bertele-tele daripada menggunakan penapis lalai, tetapi ia memberikan kawalan yang lebih eksplisit ke atas pengendalian pengecualian.

Atas ialah kandungan terperinci Bagaimana untuk Mengakses Nama Pembolehubah Dinamik dalam Twig?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn