Pernah terfikir mengapa sesetengah pangkalan kod PHP menggembirakan untuk bekerja manakala yang lain berasa seperti labirin? Sebahagian besar daripadanya adalah mengikut piawaian pengekodan yang konsisten. Mari terokai PSR-1, asas pembangunan PHP moden yang membantu pasukan menulis kod yang lebih bersih dan boleh diselenggara!
Gambaran Keseluruhan Peraturan PSR-1
1. Fail dan Ruang Nama
- Fail MESTI menggunakan tag
- Fail HARUS menggunakan UTF-8 sahaja tanpa BOM untuk kod PHP
- Fail HARUS sama ada mengisytiharkan simbol (kelas, fungsi, pemalar) ATAU menyebabkan kesan sampingan (jana output, ubah suai tetapan, dll.) tetapi TIDAK HARUS melakukan kedua-duanya
2. Ruang nama dan Nama Kelas
- Kelas WAJIB diisytiharkan dalam StudlyCaps
- Pemalar kelas MESTI diisytiharkan dalam semua huruf besar dengan pemisah garis bawah
3. Kaedah Kelas
- Nama kaedah MESTI diisytiharkan dalam camelCase
Perlaksanaan Praktikal
Mari kita lihat pelaksanaan PSR-1 yang betul daripada repositori contoh kami:
$id, 'name' => 'John Doe'];
}
}
Contoh ini menunjukkan:
- Pengisytiharan ruang nama yang betul menggunakan StudlyCaps
- Nama kelas dalam StudlyCaps
- Pemalar dalam huruf besar dengan garis bawah
- Nama kaedah dalam camelCase
Pelanggaran dan Pembetulan Biasa
Tanggungjawab Campuran
Penamaan Salah
Penyepaduan dengan Alat PHP Moden
Repositori contoh kami termasuk persediaan untuk:
- PHP_CodeSniffer untuk pengesahan PSR-1 (gaya semak komposer)
- Pembetulan gaya automatik (gaya pembetulan komposer)
- PHPUnit untuk ujian pelaksanaan
- Automuat komposer mengikuti PSR-4
Langkah Seterusnya
Dalam siaran seterusnya kami, kami akan meneroka PSR-12, yang memanjangkan piawaian pengekodan asas ini dengan garis panduan gaya yang lebih komprehensif. Siaran ini adalah sebahagian daripada Piawaian PSR kami dalam siri PHP.
Sumber
- Spesifikasi Rasmi PSR-1
- PHP_CodeSniffer PSR-1 Peraturan
-
Repositori Contoh Siri (v0.1.0 - Pelaksanaan PSR-1)
Atas ialah kandungan terperinci Piawaian Pengekodan Asas PSR dalam PHP. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!