Mengapa Beberapa Kaedah Kelas PHP Dimulakan dengan Underscore?

Barbara Streisand
Lepaskan: 2024-11-09 18:32:02
asal
845 orang telah melayarinya

Why Do Some PHP Class Methods Start with an Underscore?

Mengapa Sesetengah Kaedah Kelas PHP Dimulakan dengan Garis Bawah?

Semasa meneroka perpustakaan PHP, anda mungkin perasan bahawa pembangun tertentu lebih suka mendahului kaedah kelas mereka dengan satu-satunya garis bawah, seperti:

public function _foo()
Salin selepas log masuk

...bukannya yang lebih mudah:

public function foo()
Salin selepas log masuk

Keutamaan peribadi diketepikan, apakah asal usul konvensyen penamaan ini?

Bersejarah Akar dalam PHP 4

Satu teori mencadangkan bahawa ia bermula sejak PHP 4, apabila bahasa itu tidak mempunyai mekanisme khusus untuk menandakan kaedah sebagai dilindungi atau peribadi. Pembangun terpaksa menggunakan awalan garis bawah untuk menandakan, "Hei, jangan panggil kaedah ini dari luar kelas." Ini selalunya disertakan dengan anotasi /*peribadi/ tambahan untuk penekanan:

/**private*/ __foo() {...}
Salin selepas log masuk

Tersuai atau Kebolehlanjutan?

Sesetengah membuat spekulasi bahawa garis bawah mungkin berfungsi sebagai visual isyarat untuk kaedah tersuai atau sambungan yang bukan milik API kelas utama. Ini boleh membantu pembangun mengenal pasti dan membezakan antara fungsi teras dan tambahan.

Pengaruh Bahasa?

Ada kemungkinan juga amalan penamaan ini dipinjam daripada bahasa pengaturcaraan lain. Walau bagaimanapun, nampaknya tiada bukti muktamad untuk menyokong teori ini.

A Menahan Diri daripada Garis Bawah

Adalah penting untuk ambil perhatian bahawa tiada konvensyen yang meluas dalam PHP untuk mengawal semua kaedah kelas dengan garis bawah. Pembangun yang anda temui mungkin mempunyai sebab tersendiri untuk berbuat demikian, tetapi ini bukan amalan yang disyorkan atau diterima pakai secara meluas.

Atas ialah kandungan terperinci Mengapa Beberapa Kaedah Kelas PHP Dimulakan dengan Underscore?. 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