Apa konvensi penamaan dominan untuk variabel dalam PHP: camelcase atau garis bawah? [Tutup]

52

Tampaknya konsensus adalah bahwa seseorang harus mengikuti konvensi platform yang mereka kembangkan. Lihat:

Garis bawah atau unta?

Konvensi penamaan: camelCase versus underscore_case?

Namun, PHP tampaknya tidak secara ketat mengikuti konvensi apa pun secara internal (tidak ada kejutan di sana), bahkan untuk metode dan fungsi (misalnya mysqli::set_local_infile_default, PDOStatement::debugDumpParams); Namun, garis bawah tampaknya dominan dalam nama fungsi.

Namun, apa yang saya tidak dapat temukan adalah ini: apa konvensi penamaan dominan untuk variabel dalam PHP?

sbichenko
sumber
1
Pilih satu dan pertahankan. Tidak masalah yang mana yang akan Anda pilih, selama Anda tetap menggunakannya. Sama dengan tab vs spasi.
yannis
2
Saya sangat setuju dengan pendapat umum dalam diskusi terkait: orang harus mengikuti konvensi. Itu sebabnya saya membatasi ruang lingkup pertanyaan untuk PHP. Namun, aku mulai bertanya-tanya apakah ada adalah konvensi penamaan yang dominan di PHP.
sbichenko
5
Tidak ada, konvensi penamaan adalah salah satu dari sedikit inkonsistensi yang membuat PHP sangat bagus untuk digunakan. PSR adalah satu-satunya upaya yang menurut saya layak untuk diikuti, tapi ... itu sepenuhnya terserah Anda. Pertanyaan terkait: Apakah ada panduan gaya standar untuk PHP? & Mengapa Bootstrap 3 mengubah camelCase menjadi garis putus - apakah lebih mudah dibaca? .
yannis
Pertanyaan ini mungkin membantu Anda: programmers.stackexchange.com/questions/149303/…
programmer
Tautan ke-1 sudah mati tetapi di sini adalah arsipnya: web.archive.org/web/20130417105957/http://stackoverflow.com/…
Dmitri Zaitsev

Jawaban:

51

Tidak ada konvensi penamaan yang pasti dalam PHP, dan mereka berbeda menurut kerangka:

Jadi: Gunakan apa pun yang digunakan kerangka kerja Anda atau buat konvensi penamaan Anda sendiri.

Setidaknya untuk nama fungsi dan metode kelas, ada satu hal yang perlu dipertimbangkan, tetapi beberapa kerangka kerja membuangnya: PHP tidak peka huruf besar-kecil dalam kasus itu , jadi aTonalFunction()dan atonalFunction()keduanya dipanggil ke fungsi yang sama.

Residuum
sumber
1
Tidak ada yang menentang argumen penamaan methond Anda, tapi itu sama sekali bukan konvensi. Semua framework dan library modern seperti Zend Framework 2 , Doctrine 2 dan Symfony 2 menggunakan camelCase untuk nama metode.
Rudolph Gottesheim
@RudolphGottesheim Poin bagus. Saya telah mengedit jawaban sesuai dengan itu.
Residuum
1
Menarik. Saya datang ke sini karena saya menemukan konvensi pengkodean wordpress menjadi canggung. Sekarang saya melihat setidaknya mereka bersungguh-sungguh
Kirby
14

Sebagai pengkodean selama lebih dari sepuluh tahun dengan PHP, saya dapat melihat perubahan dari garis bawah ke camelCase. Terutama kerangka kerja yang lebih besar seperti Zend dan Symfony dibangun di atas camelCase juga ketika mereka tidak melarang garis bawah, tetapi semua fungsi inti adalah camelCase.

Anda dapat melihat banyak solusi garis bawah pada sistem yang lebih lama, seperti cabang Typo3 lama (Typo3 Neo juga diubah menjadi camelCase).

Tapi jelas tidak ada aturan ketat, yang digunakan oleh semua orang, hanya itu yang bisa saya lihat selama beberapa tahun terakhir.

Tobias
sumber
1

Ini tergantung pada programmer / pengembang serta kerangka kerja atau sumber terbuka yang sedang mereka kerjakan. Misalnya, dalam kerangka kerja Yii, disarankan untuk menggunakan case unta sedangkan dalam kerangka Codeigniter, kebanyakan orang mengikuti nama variabel dengan garis bawah. Satu hal yang pasti adalah bahwa terlepas dari kerangka mana yang Anda gunakan, nama variabel harus dapat dimengerti dan diidentifikasi.

kanjilal
sumber
0

Secara pribadi, ini bisa jalan baik. Beberapa programmer lebih suka cara penulisan CamelCase, yang lain lebih suka garis bawah ... Jadi mengajukan pertanyaan seperti ini dianggap tidak relevan karena setiap programmer akan memiliki pendapat mereka sendiri yang berbeda ... Secara pribadi, saya memiliki kebiasaan melakukan keduanya tergantung pada situasinya. ..

Situasi satu:

Anda telah bergabung dengan tim pemrograman dan telah bergabung dengan proyek yang sedang berjalan, Anda perhatikan bahwa variabel contoh ditetapkan:

$theString = "This is a camelcase example";

Tetapi Anda memiliki gaya yang disukai:

$the_string = "This is not a camelcase example"; 

dalam situasi seperti ini, yang terbaik adalah tetap menggunakan camelcase.

Situasi dua:

Anda ingin memulai proyek solo.

Dalam kasus seperti ini ... Itu hanya turun ke apa yang Anda rasa nyaman, ingatlah praktik buruk dalam hal:

$theString = "This is a sample String"; 
$the_string = "This is another sample string within the same project"; 

Ini dengan mudah dapat menyebabkan output yang tidak terduga .. Ingatlah itu.

Daryl Gill
sumber
9
FYI, yang Anda maksud adalah PascalCase - camelCase dimulai dengan huruf kecil.
John Weisz