Rumah > pembangunan bahagian belakang > tutorial php > Bagaimana untuk Menentukan Nama Fungsi Panggilan dalam PHP?

Bagaimana untuk Menentukan Nama Fungsi Panggilan dalam PHP?

Mary-Kate Olsen
Lepaskan: 2024-12-04 09:53:10
asal
200 orang telah melayarinya

How to Determine the Calling Function's Name in PHP?

Menentukan Nama Fungsi Panggilan dalam PHP

Tidak seperti bahasa seperti Java atau C , PHP tidak menyediakan fungsi terbina dalam yang direka khusus untuk mendapatkan semula nama fungsi atau kaedah panggilan. Walau bagaimanapun, terdapat cara untuk mencapai ini menggunakan fungsi debug_backtrace().

Menggunakan debug_backtrace()

Fungsi debug_backtrace() mengembalikan tatasusunan yang mengandungi maklumat tentang panggilan fungsi semasa dan semua induk. Untuk mendapatkan nama fungsi panggilan, akses item kedua dalam tatasusunan yang dikembalikan oleh debug_backtrace(). Ini akan memberikan maklumat tentang fungsi yang dipanggil fungsi semasa.

Contoh:

echo debug_backtrace()[1]['function'];
Salin selepas log masuk

Kod ini akan mengeluarkan nama fungsi panggilan.

Mengoptimumkan debug_backtrace()

Untuk mengoptimumkan prestasi, anda boleh hadkan bilangan bingkai tindanan yang dikembalikan dan tinggalkan maklumat yang tidak diperlukan. Sebagai contoh, kod berikut hanya mengembalikan nama fungsi dan meninggalkan kedua-dua objek dan indeks args:

echo debug_backtrace(!DEBUG_BACKTRACE_PROVIDE_OBJECT|DEBUG_BACKTRACE_IGNORE_ARGS,2)[1]['function'];
Salin selepas log masuk

Mendapatkan semula Kelas Kaedah Panggilan

Untuk menentukan kelas daripada kaedah panggilan, anda mesti memeriksa indeks objek dalam tatasusunan debug_backtrace(). Indeks ini mengandungi tatasusunan dengan maklumat tentang objek yang kaedah itu dipanggil.

Contoh:

$className = debug_backtrace()[1]['object']['class'];
Salin selepas log masuk

Dengan menggabungkan teknik ini, anda boleh mendapatkan kedua-dua nama dan kelas fungsi atau kaedah panggilan dalam PHP.

Atas ialah kandungan terperinci Bagaimana untuk Menentukan Nama Fungsi Panggilan dalam PHP?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan