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()
...bukannya yang lebih mudah:
public function foo()
Keutamaan peribadi diketepikan, apakah asal usul konvensyen penamaan ini?
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() {...}
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.
Ada kemungkinan juga amalan penamaan ini dipinjam daripada bahasa pengaturcaraan lain. Walau bagaimanapun, nampaknya tiada bukti muktamad untuk menyokong teori ini.
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!